问题描述
在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 }'