Мне нужно перечислить (не считать и не устанавливать) все ожидающие обновления безопасности в системе Ubuntu 14.04. Я прочитал пост Как создать список только обновлений безопасности с помощью apt-get? и его принятый ответ (apt-show-versions | grep upgradeable | grep security
) действительно дают мне список.
Однако эта команда перечисляет 62 ожидающих обновления безопасности. /usr/lib/update-notifier/apt-check
сообщает, что у меня 75 ожидающих обновлений безопасности, но, похоже, нет способа их перечислить. Как я могу согласовать эти два числа? Одна из двух команд выполняет что-то иное, чем я хочу?
Если вы просто хотите сделать это быстро один раз, вместо того, чтобы создавать отдельный репозиторий и писать сценарии для некоторой автоматизации и всего такого. Замечательно, если вы не должны вносить изменения во время аудита системы или чего-то еще.
Эти две команды выдадут список. Подключите к 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
sudo apt-get -s --no-download dist-upgrade -V | grep "^Inst.*security.*$" | cut -d " " -f 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 |
+---------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
módszert kell kérni, hogy hány csomag frissíthető és hány biztonsági frissítés van most , de ha naponta egyszer megkérdezi, egyszerűen elolvashatja a / var / lib / update-notifier / updates-available fájlt, amelyet naponta látszólag frissít a /etc/cron.daily/update-notifier-common szkript. az update-notifier-common
csomaghoz Példa:
$ sudo cat /var/lib/update-notifier/updates-available
355 packages can be updated.
1 update is a security update.
Tesztelve:
Üdvözlet,
/ Ángel
sudo apt list --upgradable |grep "/$(lsb_release -cs)-security"
Здесь перечислены все доступные обновления, поступающие через репозиторий безопасности.
У меня сработало:
sudo unattended-upgrade --dry-run -d 2> /dev/null | awk '/Checking/ { print $2 }'
Тайна раскрыта: / usr / lib / update-notifier / apt-check
подсчитывает «реальные» пакеты, тогда как apt list --upgradable
подсчитывает виртуальные пакеты. Пример:
8 updates can be installed immediately.
8 of these updates are security updates.
apt list --upgradable # only 3 lines
linux-generic/focal-updates,focal-security 5.4.0.56.59 amd64 [upgradable from: 5.4.0.53.56]
linux-headers-generic/focal-updates,focal-security 5.4.0.56.59 amd64 [upgradable from: 5.4.0.53.56]
linux-image-generic/focal-updates,focal-security 5.4.0.56.59 amd64 [upgradable from: 5.4.0.53.56]
apt upgrade
The following NEW packages will be installed:
linux-headers-5.4.0-56 linux-headers-5.4.0-56-generic linux-image-5.4.0-56-generic
linux-modules-5.4.0-56-generic linux-modules-extra-5.4.0-56-generic
The following packages will be upgraded:
linux-generic linux-headers-generic linux-image-generic
3 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.