我正在尝试使用 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/ 中有一些源列表,并且它将它们拉进来。有没有办法通过命令行选项来避免这种情况?
我想补充一点,我们不会设置自动更新。我们只是想要一个更新列表。
答案1
安装包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