在GUI工具中,您可以获得安全更新的列表包。 这可以在Debian或Ubuntu的命令行上完成吗?
通常我可能会使用“apt-get 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只输出与安全相关的软件包名称。 我把它作为一个要旨(直到我在启动板中的相关项目中创build合并请求)。 在此之前,它可以运行如下:
跑
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 }'
我相信回答OP要求的问题是如何查看软件包列表 ,而不是如何只安装安全软件包。 build立在@topdog的答案你应该使用: /usr/lib/update-notifier/apt-check -p其中-p标志代表软件包
这两个命令将吐出列表。 pipe到wc -l看看后面有多less。 😉
grep security /etc/apt/sources.list > /tmp/security.list sudo apt-get upgrade -oDir::Etc::Sourcelist=/tmp/security.list -s
仍然适用于较旧的发行版,或者如果您有更新权限,但在以下方面的安全性:
sudo apt-get upgrade -s| grep ^Inst |grep Security
我认为@smin的回答基本上是一个好的方法,但正如@Shnatsel所指出的那样,正则expression式有点松散。
这个怎么样:
apt-get upgrade -q --dry-run \ | perl -ne 'm/^Inst (\S+) \S+ \(([^\)]+) Debian-Security:8/ && print "$1-$2\n"'
这将列出软件包名称以及要安装的版本。 如果您不想要那里的版本,您可以从打印语句中拿出-$2 。
[通过使用awk而不是perl,可能会使得它更轻一些]
在阅读了其他答案之后,一个变种联合在一起 – 我相信这是为了迎合误报问题,而且是相当轻量级的。
sudo unattended-upgrade --dry-run -d 2>/dev/null | awk '/Checking/ && /archive:..*-security. / {print $2}'