我试图通过厨师食谱来运行apt-get dist-upgrade。 我知道,一般不build议在Cookbook中运行apt-get升级( https://stackoverflow.com/questions/15080876/apt-get-update-and-apt-get-upgrade-in-chef#15093460 ),但我们控制了我们的ubuntu镜像,任何软件包只有经过彻底的testing才能进入镜像,所以运行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但是我没有find更好的方法来进行apt-dist-upgrade。
即使这个https://supermarket.chef.io/cookbooks/apt-upgrade-once菜谱也是一样的。
如何通过厨师食谱更好地做到这一点?
我正在通过食谱寻找答案而不是通过cron / unattendedupgrades(因为我知道通过cron / unattendedupgrades做事)。
更新:
apt更新可以更好地运行
apt_update 'update' do action :update end
参考
这不是一个幂等的行为,所以你拥有的是最好的,也许有更多的警卫或者一天只运行一次或者什么的。