如何将我的系统设置为无需用户交互即可自动更新?

如何将我的系统设置为无需用户交互即可自动更新?

我如何设置我的 Ubuntu,使其不仅定期(自动)更新安全更新(我可以在安装 ubuntu 时进行设置),而且在后台自动更新所有软件包,无需用户交互?

额外的问题:如果我可以配置我的 Ubuntu 机器检查更新的频率,那么我应该设置什么?每小时检查一次?或者是否有任何内置的随机方式,我的意思是 Ubuntu 等待随机时间,然后检查更新?(不要在每个整点给存储库服务器带来很大的流量,例如:20h;21h;22h;等等)

答案1

安装该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

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "7";
APT::Periodic::Unattended-Upgrade "1";

更新间隔是每天,这差不多是正确的,否则您可能会过于频繁地点击镜像。

以下是相关文档:

答案2

使用 Cron 和 Apt-Get 自动进行每日软件包更新

警告:与任何系统更改一样,可能会产生新的或其他问题。请务必备份您的数据和配置!使用此文档的风险由您自行承担。

创建每日 Cron 作业文件

首先,您需要创建 cron 作业文件。您可以使用简单的文本编辑器创建文件并将其保存在您的主目录中。在文本编辑器中,键入以下行:

#!/bin/bash
apt-get update
apt-get upgrade -y
apt-get autoclean

现在单击“保存”并将文件命名为“autoupdt”。

将 Cron Job 文件移动到 Cron.Daily

现在您已经创建了 cron 作业文件,需要将其移动到每日 cron 目录中,以便它每天自动运行。为此,我们首先需要打开命令行终端 ( CTRL++ )。ALTT

我们需要将文件移动到正确的目录。在命令行提示符下键入以下命令来移动文件:

sudo mv /where/ever/autoupdt /etc/cron.daily

使 Cron Job 文件可执行

现在文件已创建并准备好由 cron 每天运行,我们仍然需要使该文件可执行,以便 cron 能够运行它。

sudo chmod 755 /etc/cron.daily/autoupdt

跟进

关于cron自定义配置的更多细节请参考:

man cron

完成的

相关内容