如何使用apt-get创建唯一的安全更新列表?

我正在尝试使用apt-get创建一个只有Ubuntu系统可用的安全更新列表。

我非常了解这篇文章如何从命令行中仅检查安全更新? 但是,如果/etc/apt/sources.list.d/中没有任何源列表,那似乎只能工作

到目前为止我的代码看起来像这样

#!/bin/bash set -x setup(){ APTSRC="/etc/apt/sources.list" SECSRC="/etc/apt/secsource.list" } cleanup(){ rm ${SECSRC} } get_updates(){ grep trusty-security ${APTSRC} > ${SECSRC} apt-get -o Dir::Etc::sourcelist="${SECSRC##/*/}" -o Dir::Etc:sourceparts="." update && apt-get --assume-no upgrade } setup get_updates cleanup 

它在很大程度上起作用,但是因为我在/etc/apt/sources.list.d/中有一些源列表,它会将它们拉进去。有没有办法通过命令行选项来避免这种情况?

我想补充一点,我们不会设置自动更新。 我们只想要一份更新清单。

安装apt-show-versions软件包并运行

 apt-show-versions | grep upgradeable | grep security 

得到这样的列表:

 firefox:amd64/trusty-security 33.0+build2-0ubuntu0.14.04.1 upgradeable to 34.0+build2-0ubuntu0.14.04.1 firefox-locale-en:amd64/trusty-security 33.0+build2-0ubuntu0.14.04.1 upgradeable to 34.0+build2-0ubuntu0.14.04.1 

要仅执行安全更新,我建议您使用特殊工具 – unattended-upgrades 。 此外,您可以使用以下Wiki页面自动执行该过程: https : //help.ubuntu.com/community/AutomaticSecurityUpdates