Linux - відображення або оновлення оновлень безпеки лише за допомогою apt


11

чи є спосіб перерахувати або встановити оновлення безпеки лише за допомогою apt?

якщо я перерахую оновлення за допомогою:

apt list --upgradable

чи можу я також бачити, не знаючи пакетів і бібліотек, які оновлення є відповідними оновленнями безпеки .

і крім того, є можливість застосувати лише ті, пропускаючи будь-які інші, тож оновлення, що не стосуються безпеки , будуть запропоновані знову наступного разу, коли я запускаю apt upgrade?


1
тож у вас є два питання, оновлення безпеки 1.print, 2.оновлення лише вибраних пакетів, я знаю, що в source.list є 6 посилань, і два з них - посилання репо, пов'язані з безпекою, ви можете побачити, які оновлені пакети будуть завантажені з кожного посилання, виконуючи наступні команди: sudo apt upgrade --no-upgrade --assume-no --print-uris
Brian SP2

1
але щодо другого питання, мабуть, ви можете вибрати один пакет для оновлення наступною командою sudo apt upgrade - лише оновлення <ім'я пакета>, але це не працює для мене, вибачте
Brian SP2,

Відповіді:


7

aptне може (поки) не надати інформацію, яку ви шукаєте. aptitudeможе, хоча і дещо заплутано:

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

Це пошук усіх оновлених ( ~U) пакетів з офіційних сховищ Debian ( ~ODebian) та відображає їхні пакети ( %p) та "походження" ( %O). Останній фактично відображає мітку репозиторію , яка є "Debian-Security: 9 / stable" для сховищ Debian 9. Ви отримуєте список оновлених імен пакетів із сховищ безпеки.

Існує безліч способів встановлення лише оновлень безпеки, хоча жоден із них не є ідеальним.

  • aptitudeТекстовий інтерфейс дозволяє застосовувати лише оновлення безпеки, просто прокручуючи до заголовка "Оновлення безпеки" (який повинен бути першим) та натисканням +.

  • Ви можете подати список пакунків, вилучених вище, aptщоб встановити оновлення:

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

    Це має невдалий побічний ефект очищення "автоматично встановленого" маркера на оновлених пакетах.

  • Ви можете використовувати unattended-upgrades, чиї дії за замовчуванням стосуються лише оновлення безпеки:

    unattended-upgrades -v
    

    Якщо ви не хочете, щоб оновлення встановлювались автоматично, вам потрібно буде вимкнути unattended-upgradesщоденну роботу cron.


Здається, TUI Aptitude більше не представляє оновлення безпеки окремо - станом на рік тому 16.04 та 16.04. Хтось ще це бачив?
Грег Белл

@Greg все ще робить для мене (на Debian 10), і я не бачу змін у Ubuntu, які б вплинули на це. Можливо, оновлення безпеки застосовуються автоматично, перш ніж ви їх зможете побачити aptitude, наприклад , unattended-upgrades...
Стівен Кітт

Ні, мої оновлення без нагляду обмежуються лише грозовими, sshd та firefox. Що дивно, це те, що пошук можливостей "~ U" знаходить багато. Я бачу, як це все ще працює на здатності 0.7.4; здатність 0,8.10 - це те, з чим постачається Ubuntu 18.04. Яка у вас версія?
Грег Белл

@Greg У мене 0.8.11, і він показує оновлення безпеки у власному розділі . Дисплей налаштовується, що може бути проблемою тут - коли ви натискаєте G, який механізм групування пакетів відображається? Типовим є task,status,section(subdirs,passthrough),section(topdir).
Стівен Кітт

Тут же механізм групування. І я мав ~ / .aptitude, щоб переконатися, що це було щось неприховане, що я встановив.
Грег Белл

5

Для відображення оновлення безпеки можна використовувати:

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

Щоб застосувати лише оновлення безпеки для 1 пакета:

apt-get install --only-upgrade pckg_name

Щоб застосувати лише оновлення безпеки зі списку:

list=$(apt-get --just-print upgrade | grep -i security | awk '{print $2}' | awk '!seen[$0]++')
apt-get install --only-upgrade $list
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.