
我正在編寫一個腳本,該腳本應該每天運行以檢查 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
:包含實際更新的日誌。