Как получить список всех ожидающих обновлений безопасности?

14

Мне нужно перечислить (не считать или установить) все ожидающие обновления безопасности в системе Ubuntu 14.04. Я прочитал пост Как создать список только обновлений безопасности с помощью apt-get? и его принятый ответ ( apt-show-versions | grep upgradeable | grep security) действительно дает мне список.

Однако эта команда перечисляет 62 ожидающих обновления безопасности. /usr/lib/update-notifier/apt-checkговорит, что у меня 75 ожидающих обновлений безопасности, но, кажется, нет способа их перечислить. Как я могу согласовать эти два числа? Одна из двух команд выполняет что-то, кроме того, что я хочу?

user3553031
источник

Ответы:

7

Если вы просто хотите сделать это быстро один раз, вместо того, чтобы создавать отдельный репозиторий и создавать сценарии автоматизации и все такое. Прекрасно, если вы не должны вносить изменения во время аудита системы или чего-либо еще.

Эти две команды выплюнут список. Труба к wc -l, чтобы увидеть, сколько позади. ;-)

grep security /etc/apt/sources.list > /tmp/security.list
sudo apt-get upgrade -oDir::Etc::Sourcelist=/tmp/security.list -oDir::Etc::SourceParts=/some/valid/dir/false -s

Все еще действует для старых дистрибутивов или если у вас отключены репозитории обновлений, но безопасность включена:

sudo apt-get upgrade -s| grep ^Inst |grep Security 
flickerfly
источник
почему вы пишете « Все еще в силе для старых дистрибутивов или если у вас отключены обновления репозитория, но включена защита »? если решение по каналу не работает, возможно, добавьте опцию -V( -verbose-versions)?
Myrdd
@myrdd Потому что первый использует функции, которые не были доступны в дистрибутивах, которые выходили из моды еще в 2016 году. Может быть, больше не будет.
мерцание
так что последнее решение всегда должно работать, нет?
Мирдд
1
@myrdd Пока формат вывода не меняется в новой версии. Первый лучше, потому что он не зависит от формата вывода.
мерцание
2

Это сработало для меня:

sudo unattended-upgrade --dry-run -d 2> /dev/null | awk '/Checking/ { print $2 }'
Сэмюэль Джеймс
источник
2
Показывает все доступные обновления, но не ограничивает обновления безопасности, если я не ошибаюсь. Все еще полезно.
DELF
2
+---------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|                            Command                            |                                                                               Purpose                                                                               |
+---------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| apt list --upgradable                                         | List all updates available                                                                                                                                          |
| apt list --upgradable | grep "\-security"                     | List all updates that are security.                                                                                                                                 |
| apt list --upgradable 2>/dev/null | grep "\-security" | wc -l | Count number of security updates available. and redirects the stderr like "WARNING: apt does not have a stable CLI interface. Use with caution in scripts." to null |
+---------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
learnsomemore
источник
0
sudo apt list --upgradable |grep "/$(lsb_release -cs)-security"

В этом списке перечислены все доступные обновления, которые поступают через репозиторий безопасности.

zerwas
источник
1
apt для интерактивного использования. Вы получаете предупреждение при использовании в сценарии. Используйте apt-getвместо этого.
Бернард
0

Должен быть способ запросить, сколько пакетов можно обновить и сколько обновлений безопасности прямо сейчас , но если вы согласитесь запрашивать его один раз в день, вы можете просто прочитать файл / var / lib / update-notifier / updates-available , который похоже, ежедневно обновляется с помощью скрипта /etc/cron.daily/update-notifier-common, который принадлежит пакету update-notifier-common

Пример:

$ sudo cat /var/lib/update-notifier/updates-available

355 packages can be updated.
1 update is a security update.

Проверено в:

  • Ubuntu 14.04 LTS
  • Ubuntu 16.04 LTS
  • Ubuntu 18.04 LTS

С Уважением,

/ Анхель

ангел
источник