Linux - chỉ hiển thị hoặc nâng cấp cập nhật bảo mật bằng cách sử dụng apt


11

Có cách nào để liệt kê hoặc cài đặt nâng cấp bảo mật chỉ bằng cách sử dụng apt không?

nếu tôi liệt kê các bản nâng cấp với:

apt list --upgradable

Tôi cũng có thể xem mà không biết các gói và thư viện nâng cấp nào là nâng cấp bảo mật có liên quan .

và hơn nữa có một tùy chọn chỉ áp dụng những thứ đó bằng cách bỏ qua bất kỳ cái nào khác, vì vậy các nâng cấp không liên quan đến bảo mật sẽ được nhắc lại lần sau khi tôi chạy apt upgrade?


1
Vì vậy, bạn có hai câu hỏi, cập nhật bảo mật 1.print, 2.update chỉ các gói được chọn, tôi biết rằng có 6 liên kết trong nguồn.list và hai trong số đó là các liên kết repo liên quan đến bảo mật, bạn có thể xem các gói có thể nâng cấp nào sẽ được tải xuống từ mỗi liên kết bằng lệnh sau: sudo apt nâng cấp --no-nâng cấp --assume-no --print-uris
Brian SP2

1
nhưng về câu hỏi thứ hai, rõ ràng bạn có thể chọn một gói duy nhất để được nâng cấp bằng lệnh sau đây sudo apt nâng cấp - chỉ nâng cấp <tên gói> nhưng điều này không hiệu quả với tôi, xin lỗi
Brian SP2

Câu trả lời:


7

aptkhông thể (chưa) cung cấp thông tin bạn theo dõi. aptitudemặc dù có thể, mặc dù hơi khó hiểu:

aptitude search '~U ~ODebian' -F "%p %O"|awk '/Debian-Security/ {print $1}'

Việc này tìm kiếm tất cả ~Ucác gói có thể nâng cấp ( ) từ kho lưu trữ Debian chính thức ( ~ODebian) và hiển thị tên gói ( %p) và nguồn gốc của họ ( %O). Cái sau thực sự hiển thị nhãn kho lưu trữ , đó là Debian Debian-Security: 9 / ổn định cho các kho bảo mật Debian 9. Bạn kết thúc với một danh sách các tên gói có thể nâng cấp từ kho bảo mật.

Có nhiều cách khác nhau để chỉ cài đặt nâng cấp bảo mật, không có cách nào lý tưởng cả.

  • aptitudeGiao diện văn bản chỉ cho phép áp dụng các nâng cấp bảo mật, chỉ bằng cách cuộn đến tiêu đề Cập nhật bảo mật của trò chơi (đây là cái đầu tiên) và nhấn +.

  • Bạn có thể cung cấp danh sách các gói được trích xuất ở trên aptđể cài đặt các bản nâng cấp:

    aptitude search '~U ~ODebian' -F "%p %O" |
    awk '/Debian-Security/ {print $1}' |
    xargs apt-get install --only-upgrade
    

    Điều này có tác dụng phụ đáng tiếc trong việc xóa điểm đánh dấu tự động cài đặt trên các gói nâng cấp.

  • Bạn có thể sử dụng unattended-upgrades, hành động mặc định của họ là chỉ áp dụng nâng cấp bảo mật:

    unattended-upgrades -v
    

    Nếu bạn không muốn nâng cấp được cài đặt tự động, bạn sẽ cần phải tắt unattended-upgradescông việc định kỳ hàng ngày.


TUI của Aptitude dường như không trình bày các cập nhật bảo mật riêng biệt nữa - kể từ một năm trước hoặc ngày 16.04, và hiện tại là vào ngày 18.04. Bất cứ ai khác nhìn thấy điều đó?
Greg Bell

@Greg nó vẫn làm cho tôi (trên Debian 10) và tôi không thấy bất kỳ thay đổi nào trong Ubuntu sẽ ảnh hưởng đến điều đó. Có lẽ các bản cập nhật bảo mật được áp dụng tự động trước khi bạn có thể nhìn thấy chúng trong aptitude, ví dụ bằng cách unattended-upgrades...
Stephen Kitt

Không, nâng cấp không giám sát của tôi chỉ giới hạn ở chỉ sấm sét, sshd và firefox. Điều kỳ lạ là tìm kiếm năng khiếu '~ U' tìm thấy rất nhiều. Tôi có thể thấy nó vẫn hoạt động trên aptitude 0.7.4; aptitude 0.8.10 là những gì Ubuntu 18.04 mang lại. Bạn có phiên bản nào?
Greg Bell

@Greg Tôi có 0.8.11 và nó hiển thị các cập nhật bảo mật trong phần riêng của họ . Màn hình có thể định cấu hình, đây có thể là vấn đề ở đây - khi bạn nhấn G, cơ chế nhóm nhóm nào được hiển thị? Mặc định là task,status,section(subdirs,passthrough),section(topdir).
Stephen Kitt

Cơ chế nhóm tương tự ở đây. Và tôi đã mv'd ~ / .aptitude để chắc chắn rằng đó không phải là thứ gì đó ngớ ngẩn mà tôi đã đặt ra.
Greg Bell

5

Để hiển thị cập nhật bảo mật, bạn có thể sử dụng:

apt-get --just-print upgrade | grep -i security | awk '{print $2}' | awk '!seen[$0]++'

Để chỉ áp dụng các bản cập nhật bảo mật cho 1 gói:

apt-get install --only-upgrade pckg_name

Để chỉ áp dụng các bản cập nhật bảo mật từ danh sách:

list=$(apt-get --just-print upgrade | grep -i security | awk '{print $2}' | awk '!seen[$0]++')
apt-get install --only-upgrade $list
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.