Làm cách nào để chỉ kiểm tra cập nhật bảo mật từ dòng lệnh?


16

Có cách nào để nhanh chóng kiểm tra tính khả dụng của các cập nhật bảo mật từ dòng lệnh không?

Trên hệ thống 12.04 của tôi đang chạy apt-get updatelấy 20MB dữ liệu về các gói có sẵn mỗi khi tôi chạy nó, đánh vào nhiều kho lưu trữ trên đường đi. Sau đó, tôi có thể sử dụng bất kỳ phương pháp nào được mô tả ở đây để thực sự cập nhật.

Câu hỏi của tôi chỉ là về việc phát hiện sự sẵn có của các bản cập nhật bảo mật (nghĩa là không thực hiện nâng cấp thực tế bằng apt-get / aptitude / etc): có một kiểm tra nhanh có thể được thực hiện từ dòng lệnh cung cấp câu trả lời có không câu hỏi "có cập nhật bảo mật có sẵn?". Tôi muốn chạy nó trước khi chạy apt-get updatenâng cấp dài + thực tế.

Tôi cho rằng tôi không cần tải xuống 20MB dữ liệu để biết câu trả lời mỗi ngày.



Bạn có nghĩa là apt-get updatelấy 20 MB siêu dữ liệu gói?
Jeremy Kerr

@JeremyKerr: có, nếu bạn ở trên máy chủ chính (archive / us.archive) vì danh sách gói được cập nhật mỗi nửa giờ ... có một hoặc hai luồng dài về nó trên AU từ tốc độ quốc tế / tốc độ thấp người dùng rất thất vọng về nó.
ish

@izx: thú vị, chỉ cần chạy thử nghiệm bằng apt-get updatecách sử dụng gương Úc (Tôi đang ở .au); tổng số tải xuống là 1,3 MB.
Jeremy Kerr

Câu trả lời:


11

Câu hỏi của tôi chỉ là về việc phát hiện sự sẵn có của các cập nhật bảo mật

Có, điều đó hoàn toàn có thể xảy ra với lời cảnh báo rằng người bình thường apt-get updatesẽ làm mới hoàn toàn khi bạn chạy nó lần sau (20 MB có nghĩa là dù sao thì nó cũng đang làm điều đó).

  • sudo sh -c 'grep precise-security /etc/apt/sources.list > /etc/apt/secsrc.list

  • Và nếu sau đó bạn chạy các phần sau, bạn sẽ thấy nếu có bất kỳ bản cập nhật bảo mật nào có sẵn ( đầu ra mẫu ):

    sudo sh -c 'apt-get -o Dir :: Etc :: sourcelist = "secsrc.list" \
    -o Dir :: Etc :: sourceparts = "-" cập nhật && \
    apt-get --assume-không nâng cấp '
    
  • Điều này cho biết apt-gettạm thời sử dụng danh sách nguồn chỉ bảo mật đặc biệt và sau đó chạy upgrade, tự động trả lời không.

  • Nếu có, chạy đúng apt-get update(sẽ làm mới hoàn toàn), sau đó nâng cấp.

  • Bạn có thể tạo tập lệnh bash ở trên với kiểm tra mã grep / exit đơn giản ở cuối nếu bạn không muốn phân tích cú pháp đầu ra apt-get :)


đây chính xác là những gì tôi đang tìm kiếm, cảm ơn rất nhiều! :) một câu hỏi nhanh: tập tin /etc/apt/secsrc.list của tôi không tham chiếu đến kho lưu trữ của 'đối tác' đa vũ trụ '), tôi vẫn sẽ được thông báo về các cập nhật bảo mật cho các gói trong kho lưu trữ đó chứ?
laramichaels

@laramichaels, kho đối tác chỉ chứa mười lăm gói và đây là những tệp nhị phân độc quyền được gói trong một .deb. Các bản cập nhật "bảo mật" tăng dần không được phát hành cho những bản cập nhật này và tôi tưởng tượng ngay cả các bản cập nhật thông thường cũng không thường xuyên (nghĩ Adobe Reader). Tôi chỉ muốn thêm kho thực tế ( deb http://archive.canonical.com/ubuntu precise partner) để secsrc.listđưa ra kích thước nhỏ (5 kb) của tập tin cập nhật đối tác.
ish

@laramichaels, tôi cũng đã thêm một câu trả lời chi tiết hơn cho câu hỏi trước đây của bạn về khía cạnh cập nhật bảo mật của đối tác. Câu trả lời được chấp nhận là IMO sai, vì vậy hãy xem khi bạn có thời gian rảnh và chấp nhận thay vì nếu bạn nghĩ nó tốt hơn.
ish

1
Bit này để làm gì -o Dir::Etc::sourceparts="-"
ChocoDeveloper

2

Điều này có thể không chính xác những gì câu hỏi đang hỏi, nhưng nếu bạn đã chạy apt update, bạn có thể xem những cập nhật bảo mật nào có sẵn bằng cách sử dụng:

sudo apt list --upgradable | grep -e "-security"

sẽ cung cấp cho bạn một cái gì đó như:

libssl1.0.0/xenial-updates,xenial-security 1.0.2g-1ubuntu4.9 i386 [upgradable from: 1.0.2g-1ubuntu4.8]
openssl/xenial-updates,xenial-security 1.0.2g-1ubuntu4.9 i386 [upgradable from: 1.0.2g-1ubuntu4.8]
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.