取得安全性更新 Delta 並安裝它們

取得安全性更新 Delta 並安裝它們

我正在編寫一個腳本,該腳本應該每天運行以檢查 Ubuntu 是否有任何新的安全性更新。

如果有,它將列出這些更新,下載它們,然後執行一些測試。

該腳本的目的是確保沒有安全更新破壞我們在 Ubuntu 上運行的程式碼。

我不是一個經驗豐富的 Ubuntu 用戶,所以如果這個問題看起來微不足道,請原諒我。我做了很多研究,發現了類似的訊息我認為這對於家庭用戶等有用。但我無法安裝額外的軟體包,這也沒有提供任何在不安裝軟體包的情況下執行此操作的解決方案,(我嘗試了不包括下載新軟體包的每個答案)

所以為了完善我的問題,我想要一個可以取得所有安全性更新的命令(這樣我就可以將它們視為列表,並將其包含在哪些安全性套件有更新的每日報告中)然後也下載並安裝它們。我自己做的測試等(顯然)我只需要幫助理解要運行哪些命令。

由於腳本將運行這些命令,因此它們不需要以任何特定方式為人類可讀,因此它們可以很長且無關,等等,並且最好是不需要預先配置的 1-liners。

答案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:包含實際更新的日誌。

相關內容