获取安全更新 Delta 并安装它们

获取安全更新 Delta 并安装它们

我正在编写一个脚本,每天运行一次以检查 Ubuntu 是否有任何新的安全更新。

如果有,它会列出这些更新,下载它们,然后运行一些测试。

该脚本的目的是确保没有安全更新破坏我们在 Ubuntu 上运行的代码。

我不是 Ubuntu 的资深用户,所以如果这个问题看起来微不足道,请原谅我。我做了大量研究,找到了类似以下信息我认为这对家庭用户或类似用户来说很有用。但是我无法安装额外的软件包,也没有提供任何不安装软件包的解决方案,(我尝试了每一个不包括下载新软件包的答案)

为了完善我的问题,我想要一个可以获取所有安全更新的命令(这样我就可以将它们视为一个列表,并将其包含在哪些安全包有更新的每日报告中)然后下载并安装它们。我自己进行测试等(显然),我只是需要帮助了解要运行哪些命令。

由于脚本将运行这些命令,它们不需要以任何特定方式供人类阅读,因此它们可以很长且无关紧要,或者最好是不需要预先配置的 1 行代码。

答案1

经过我自己的一些研究和一些摆弄,这是我为自己找到的解决方案:

grep security /etc/apt/sources.list > /tmp/su.list
apt-get -o Dir::Etc::Sourcelist=/tmp/su.list -q update
apt-get -o Dir::Etc::Sourcelist=/tmp/su.list -q upgrade -s 2>&1 | tee /tmp/security_updates_fetch.log
apt-get -o Dir::Etc::Sourcelist=/tmp/su.list -q upgrade -ym --force-yes 2>&1 | tee /tmp/security_updates_install.log

这将输出到标准输出并创建一些文件/tmp/

  • /tmp/su.list:操作完成后,这是一个被丢弃的文件。
  • security_updates_fetch.log:包含将要执行的更新。
  • security_updates_install.log:包含实际更新的日志。

相关内容