Ubuntu
通過廚師執行 apt upgrade / dist-upgrade 的更好方法
我正在嘗試通過廚師食譜執行 apt-get dist-upgrade。我知道通常不建議在食譜中執行 apt-get upgrade ( https://stackoverflow.com/questions/15080876/apt-get-update-and-apt-get-upgrade-in-chef#15093460 ),但是我們控制著我們的 ubuntu 鏡像,任何包只有在經過徹底測試後才能進入該鏡像,所以執行 dist-upgrade 就可以了。
我目前在我的食譜中是
execute "apt update" do command "apt-get -y update" end execute "apt dist-upgrade" do command 'DEBIAN_FRONTEND=noninteractive apt-get -fuy -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" dist-upgrade' end execute "apt autoremove" do command "apt-get -y autoremove" end
它看起來更像是一個 shell 腳本而不是廚師食譜。添加 apt cookbook 會執行
apt-get update
,但我沒有找到更好的方法來進行 apt dist-upgrade。甚至這本https://supermarket.chef.io/cookbooks/apt-upgrade-once食譜也是如此。
如何通過廚師食譜以更好的方式做到這一點?
我只是通過食譜而不是通過 cron/unattendedupgrades 尋找答案(據我所知,通過 cron/unattendedupgrades 做事)。
更新:
apt update 可以更好地執行
apt_update 'update' do action :update end
這不是一個冪等動作,所以你所擁有的就是你能做的最好的事情,也許有更多的守衛或者每天只執行一次的東西等等。