如何在没有用户交互的情况下将系统设置为自动更新?

如何设置我的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 

成品