如何将系统设置为无需用户干预即可自动更新?


8

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

额外的问题:如果我可以配置Ubuntu盒子多久检查一次更新,那我应该设置什么?每小时检查一次吗?还是有任何内置的随机方式,我的意思是Ubuntu等待随机时间,然后检查更新?(以免每隔一整个小时向存储库服务器分配大量流量,例如:20h; 21h; 22h等)

Answers:


10

安装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";

更新间隔是每天,大约是正确的,否则您可能会经常碰到镜子。

这是此文档:


1
我可以问一下“ 1天”到底是什么意思吗?如果例如:一台PC每天仅使用1-2个小时,那么它将不检查更新吗?或它的意思是:例如,如果在上次检查后经过24小时,它将执行更新?
LanceBaynes 2011年

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

已完成

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.