我有一个shell脚本来为我的目的自动配置新的Ubuntu虚拟机。我希望这个脚本能够安装和启用unattended-upgrades,但是如果没有用户交互,我就想不出如何做到这一点。
通常启用升级的方法是dpkg-reconfigure unattended-upgrades,但这当然是交互式的。非交互式前端完全避免询问任何问题,文本前端似乎被绑定,并决心使用tty而不是stdin/stdout进行I/O。
发布于 2012-11-18 21:37:11
只需按您喜欢的方式配置/etc/apt.conf/d/20自动升级,并将其放到目标计算机上即可。您可以将其嵌入到脚本中,也可以从服务器或其他地方进行rsync或wget。
因此,基本上,您的脚本可能会这样做:
apt-get install unattended-upgrades
wget -O /etc/apt/apt.conf.d/20auto-upgrades http://myserver.mytld/confs/20auto-upgrades
/etc/init.d/unattended-upgrades restart根本没有理由对dpkg重新配置脚本进行猴子操作。
如果您不想从远程服务器获取conf文件,那么它非常简短和简单--默认版本(只获取和安装安全更新)如下所示:
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";因此,您只需将这些行直接回显到配置文件中,如下所示:
echo -e "APT::Periodic::Update-Package-Lists \"1\";\nAPT::Periodic::Unattended-Upgrade \"1\";\n" > /etc/apt/apt.conf.d/20auto-upgrades发布于 2016-01-25 12:25:53
如果您想使用dpkg- reconfigure,可以使用“debconf set -set”设置值,然后以非交互式的方式重新配置它。
echo "unattended-upgrades unattended-upgrades/enable_auto_updates boolean true" | debconf-set-selections; dpkg-reconfigure -f noninteractive unattended-upgrades发布于 2012-11-17 04:19:53
我建议插入配置参数来配置无人值守的升级。
sudo touch /etc/apt/apt.conf.d/20auto-upgrades
echo "APT::Periodic::Update-Package-Lists "1"" >> /etc/apt/apt.conf.d/20auto-upgrades
echo "APT::Periodic::Unattended-Upgrade "1" " >> /etc/apt/apt.conf.d/20auto-upgrades同样,您可以根据您在conf文件/etc/apt/apt.conf.d/50unattended-upgrades中的要求配置/添加参数。
不要忘记重新启动服务以应用更改。
/etc/init.d/unattended-upgrades restarthttps://askubuntu.com/questions/203337
复制相似问题