如何获取所有未决安全更新的列表?


16

我需要列出(而不是计算或安装)Ubuntu 14.04系统上所有未决的安全更新。我已阅读过如何使用apt-get创建仅安全更新的列表?并且其接受的答案(apt-show-versions | grep upgradeable | grep security)确实列出了我的清单。

但是,该命令列出了62个未决的安全更新。 /usr/lib/update-notifier/apt-check告诉我,我有75个待处理的安全更新,但似乎没有办法列出它们。我该如何调和这两个数字?这两个命令之一是不是在执行我想要的操作?

Answers:


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 

为什么写“ 对于较旧的发行版仍然有效,或者如果您关闭了更新存储库,但安全设置为 “?如果管道解决方案无效,则可以添加-V-verbose-versions)选项?
myrdd

@myrdd,因为第一个使用的功能在发行版中不可用,而发行版在2016年已经过时了。可能不再是回事了。
flickerfly

所以后一种解决方案应该总是有效,不是吗?
myrdd

1
@myrdd,只要在新版本中输出的格式没有变化即可。第一个更好,因为它不依赖于输出格式。
flickerfly

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 |
+---------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+

0
sudo apt list --upgradable |grep "/$(lsb_release -cs)-security"

这列出了通过安全性存储库提供的所有可用更新。


1
apt供交互使用。在脚本中使用时会收到警告。使用apt-get代替。
伯纳德

0

必须有一个办法要求有多少包是可更新的,有多少安全更新,现在,但如果你满足于要求它每天一次,你可以简单地读取该文件在/ var / lib中/更新通知程序/更新可用,这似乎每天由脚本/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

问候,

/天使

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.