Как проверить только обновления безопасности из командной строки?

Есть ли способ быстро проверить наличие обновлений безопасности из командной строки?

На моей системе 12.04, использующей apt-get update извлекается 20 МБ данных о доступных пакетах каждый раз, когда я запускаю ее, ударяя по многим репозиториям по пути. Затем я могу использовать любой из описанных здесь методов для фактического выполнения обновления.

Мой вопрос заключается только в обнаружении доступности обновлений безопасности (т. Е. Не выполняется фактическое обновление с помощью apt-get / aptitude / etc): есть ли быстрая проверка, которая может быть выполнена из командной строки, которая дает ответ «да-нет» вопрос «имеются ли обновления безопасности?». Я хотел бы запустить это, прежде чем запускать длинное apt-get update + фактическое обновление.

Полагаю, мне не нужно загружать 20 МБ данных, чтобы каждый день знать ответ на этот вопрос.

Мой вопрос заключается только в обнаружении доступности обновлений безопасности

Да, это выполнимо с предостережением о том, что нормальное apt-get update будет полностью обновляться при следующем запуске (20 МБ означает, что это все равно).

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

  • И если вы затем запустите следующее, вы увидите, есть ли доступные обновления безопасности ( образец вывода ):

     sudo sh -c 'apt-get -o Dir :: Etc :: sourcelist = "secsrc.list" \
     -o Dir :: Etc :: sourceparts = "-" update && \
     apt-get -assume-no upgrade '
    
  • Это сообщает apt-get временно использовать специальный список источников только для безопасности, а затем запускает upgrade , автоматически отвечая no.

  • Если они есть, запустите правильное apt-get update (которое будет делать полное обновление), а затем обновится.

  • Вы можете сделать выше сценарий bash с простой проверкой кода grep / exit в конце, если вы не чувствуете, что разбираете вывод apt-get 🙂

Это может быть не совсем то, что задает вопрос, но если вы уже запустили apt update , вы можете увидеть, какие обновления для системы безопасности доступны, используя:

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

который даст вам что-то вроде:

 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]