我正在使用Chef Solo为Ubuntu 12.04提供基于Opscode的“Bento”框的Vagrant VM.当它完成配置并且我第一次使用SSH时,MOTD告诉我有包和安全更新.然后我手动运行sudo apt-get upgrade,这会在后续登录时删除该消息.有没有办法让Chef自动执行此步骤? “apt”食谱似乎没有处理这个问题.我的所有Google搜索都只查找apt-get update而不是apt-get upgrade.我可以在我的Chef配方中执行apt-get命令,但在升级过程中,粉红色屏幕上有一个伪GUI,我必须选择要安装的驱动器(我认为这称为GRUB,我是新的到Ubuntu)我不确定这部分如何通过Chef实现自动化.
我刚刚和Chef vagrant一起遇到了这个问题,发现以下内容对我有用:
sudo dpkg-reconfigure -plow grub-pc
这允许您重新配置grub-pc并选择您希望安装grub的设备(如果有).在此处将设备设置为默认值应该允许包含grub的升级不提示设备选择.此时,您可以创建一个新的流浪盒并将其用作默认值.
要么
要在不提示的情况下运行apt-get upgrade / dist-upgrade,您可以使用:
sudo DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" dist-upgrade
> DEBIAN_FRONTEND = noninteractive使用任何提示的默认答案.> Dpkg :: Options :: =“ – force-confdef”确保dpkg仅覆盖您尚未修改的配置文件> Dpkg :: Options :: =“ – force-confold”确保不覆盖当前配置文件.使用.dpkg-dist后缀创建新的配置文件.