当前位置: 首页>>技术教程>>正文


如何在Debian/Ubuntu的命令行中获取安全更新列表

, , ,

问题描述

在GUI工具中,您可以获得带有安全更新的列表包。可以在Debian或Ubuntu中的命令行上完成吗?

通常,我可能会使用“ apt-get upgrade”来显示正在升级的内容,但是我想知道哪些是安全更新。

最佳方法

使用unattended-upgrade应用程序。

sudo unattended-upgrade

这使您只能自动安装安全更新,但是如果需要,可以手动调用它。

次佳方法

apt-get upgrade -s | grep -i security

…是Nagios check-apt插件用来计算待处理安全更新的方法,与您正在寻找的相似。

第三种方法

在ubuntu上,您应该能够使用apt-check,它是使用可用的安全更新数量填充motd的一个。

第四种方法

您可以使用以下命令获取列表:

sudo unattended-upgrade --dry-run -d 2> /dev/null | grep 'Checking' | awk '{ print $2 }'

第五种方法

我有一个update-notifier的修改版本,它带有一个附加的开关:--security-package-names,它仅输出与安全性相关的软件包名称。我已将其作为要点(直到在启动板的相关项目中创建合并请求)。在此之前,它可以按以下方式运行:

curl -s https://gist.githubusercontent.com/ahmadnazir/c2444d6b09fd7bb4963a13bc577d92a3/raw/0231b94a4e46abe0a5959de5f84feda76ad2eb9d/apt-check.py \
  | python /dev/stdin --security-package-names \
  | column -t -s , \
  | sort

输出量

这将给出以下格式的输出:软件包名称,已安装的版本和候选版本:

...
thunderbird                          1:38.6.0+build1-0ubuntu0.14.04.1     1:38.8.0+build1-0ubuntu0.14.04.1
thunderbird-gnome-support            1:38.6.0+build1-0ubuntu0.14.04.1     1:38.8.0+build1-0ubuntu0.14.04.1
thunderbird-locale-en                1:38.6.0+build1-0ubuntu0.14.04.1     1:38.8.0+build1-0ubuntu0.14.04.1
thunderbird-locale-en-us             1:38.6.0+build1-0ubuntu0.14.04.1     1:38.8.0+build1-0ubuntu0.14.04.1
...

第六种方法

基于上面的Fabrizio Regini的答案。

对于12.04 /精确度:

sudo unattended-upgrade --dry-run -d 2>&1 /dev/null | grep 'Checking' | grep security | awk '{ print $2 }'

对于14.04 /Trusty:

sudo unattended-upgrade --dry-run -d | grep 'Checking' | grep security | awk '{ print $2 }'

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/10690.html,未经允许,请勿转载。