如何在没有用户交互的情况下将系统设置为自动更新?
如何设置我的Ubuntu不仅定期(和自动)更新安全更新(我可以在安装ubuntu时设置),而是在后台自动更新所有包,无需用户交互?
额外的问题:如果我可以配置我的Ubuntu盒检查更新的频率,那么我应该设置什么? 每小时检查一次? 或者有任何内置的随机方式,我的意思是Ubuntu等待一个随机时间,然后检查更新? (每小时不要给存储库服务器带来大量流量,例如:20h; 21h; 22h;等等)
安装unattended-upgrades
软件包,并编辑其配置文件以安装所有软件包,而不仅仅是安全更新:
编辑文件/etc/apt/apt.conf.d/50unattended-upgrades
:
// Automatically upgrade packages from these (origin, archive) pairs Unattended-Upgrade::Allowed-Origins { "${distro_id} ${distro_codename}-security"; // "${distro_id} ${distro_codename}-updates"; // "${distro_id} ${distro_codename}-proposed"; // "${distro_id} ${distro_codename}-backports"; };
并从您想要自动的部分中删除//
然后只保存文件。
接下来,您需要在/etc/apt/apt.conf.d/10periodic
设置autoupdate函数:
APT::Periodic::Update-Package-Lists "1"; APT::Periodic::Download-Upgradeable-Packages "1"; APT::Periodic::AutocleanInterval "7"; APT::Periodic::Unattended-Upgrade "1";
更新间隔是每天,这是正确的,否则你可能会经常碰到镜子。
这是以下文档:
使用Cron和Apt-Get自动每日软件包更新
警告:与任何系统更改一样,可能会出现创建新问题或其他问题的可能性。 请务必备份您的数据和配置! 使用本文档需要您自担风险。
创建每日Cron作业文件
首先,您需要创建cron作业文件。 您可以使用简单的文本编辑器创建文件并将其保存在主目录中。 在文本编辑器中,键入以下行:
#!/bin/bash apt-get update apt-get upgrade -y apt-get autoclean
现在单击“保存”并将文件命名为“autoupdt”。
将Cron作业文件移动到Cron.Daily
现在您已经创建了cron作业文件,需要将其移动到每日cron目录中,以便它每天自动运行。 为此,我们首先需要打开一个命令行终端( CTRL + ALT + T )。
我们需要将文件移动到正确的目录。 在命令行提示符下键入以下命令以移动文件:
sudo mv /where/ever/autoupdt /etc/cron.daily
使Cron作业文件可执行
现在文件已经创建并准备好由cron每天运行,我们仍然需要使文件可执行,以便cron能够运行它。
sudo chmod 755 /etc/cron.daily/autoupdt
跟进
有关cron自定义配置的更多详细信息,请参阅:
man cron
成品