如何在Ubuntu 18.04上设置自动更新

定期更新Ubuntu系统是整体系统安全性的最重要方面之一。 如果不使用最新的安全修补程序更新操作系统的软件包,则使计算机容易受到攻击。

在管理多台Ubuntu计算机时,手动更新系统软件包可能很耗时。 即使您管理单个系统,有时您也可能忽略了重要更新。 这是自动无人值守更新很方便的地方。

在本教程中,我们将逐步介绍如何在Ubuntu 18.04上配置自动无人值守更新。 相同的步骤适用于任何基于Ubuntu的发行版,包括Kubuntu,Linux Mint和Elementary OS。

先决条件

在继续本教程之前,请确保您以具有sudo特权的用户身份登录。

安装 unattended-upgrades 套餐编号

unattended-upgrades 软件包包括可以自动下载和安装更新的软件包的工具。

可能是该软件包已经安装在Ubuntu系统上了,否则请在终端中输入以下命令进行安装:

sudo apt install unattended-upgrades

安装完成后,无人参与升级服务将自动启动。 您可以通过键入以下内容进行验证:

systemctl status unattended-upgrades
● unattended-upgrades.service - Unattended Upgrades Shutdown
   Loaded: loaded (/lib/systemd/system/unattended-upgrades.service; enab
   Active: active (running) since Sun 2019-03-10 07:52:08 UTC; 2min 35s 
     Docs: man:unattended-upgrade(8)
   CGroup: /system.slice/unattended-upgrades.service

配置无人参与的自动更新

unattended-upgrades 可以通过编辑 /etc/apt/apt.conf.d/50unattended-upgrades 文件。

默认配置对于大多数用户来说应该可以正常工作,但是您可以打开文件并根据需要进行更改。 您可以更新所有软件包,也可以仅更新安全性。

/etc/apt/apt.conf.d/50unattended-upgrades

Unattended-Upgrade::Allowed-Origins {
  "${distro_id}:${distro_codename}";
	"${distro_id}:${distro_codename}-security";
	// Extended Security Maintenance; doesn't necessarily exist for
	// every release and this system may not have it installed, but if
	// available, the policy for updates is such that unattended-upgrades
	// should also install from here by default.
	"${distro_id}ESM:${distro_codename}";
//	"${distro_id}:${distro_codename}-updates";
//	"${distro_id}:${distro_codename}-proposed";
//	"${distro_id}:${distro_codename}-backports";
};

第一部分定义了将自动更新哪些类型的软件包。 默认情况下,它将仅安装安全更新,如果要启用其他存储库中的更新,则可以通过删除双斜杠取消对相应存储库的注释。 // 从该行的开始。 之后的一切 // 是注释,程序包不读取。

如果出于任何原因要禁止某些软件包自动更新,只需将其添加到软件包黑名单中即可:

/etc/apt/apt.conf.d/50unattended-upgrades

Unattended-Upgrade::Package-Blacklist {
//      "vim";
//      "libc6";
//      "libc6-dev";
//      "libc6-i686";
};

如果由于某种原因自动更新出现问题,您可能还希望接收电子邮件。 为此,请取消注释以下两行,然后输入您的电子邮件地址。 确保您具有可以发送系统上安装的电子邮件的工具,例如 mailx 要么 postfix

/etc/apt/apt.conf.d/50unattended-upgrades

Unattended-Upgrade::Mail "[email protected]";
Unattended-Upgrade::MailOnlyOnError "true";

启用无人参与的自动更新

要启用自动更新,您需要确保apt配置文件 /etc/apt/apt.conf.d/20auto-upgrades 至少包含以下两行,默认情况下应包括在内:

/etc/apt/apt.conf.d/20auto-upgrades

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

上面的配置更新软件包列表,并每天安装可用的更新。

您还可以添加以下每7天清除一次本地下载存档的行。

/etc/apt/apt.conf.d/20auto-upgrades

APT::Periodic::AutocleanInterval "7";

启用/禁用自动更新的另一种方法是运行以下命令,该命令将修改(或创建(如果不存在的话) /etc/apt/apt.conf.d/20auto-upgrades

sudo dpkg-reconfigure -plow unattended-upgrades

测试编号

要测试自动升级是否有效,请执行试运行:

sudo unattended-upgrades --dry-run --debug

输出应如下所示:

...
pkgs that look like they should be upgraded:
Fetched 0 B in 0s (0 B/s)
fetch.run() result: 0
blacklist: []
whitelist: []
No packages found that can be upgraded unattended and no pending auto-removals

自动无人值守升级的历史记录在 /var/log/unattended-upgrades/unattended-upgrades.log 文件。

结论#

在本教程中,您学习了如何配置自动无人值守更新并保持系统为最新。

如果您有任何疑问或反馈,请随时发表评论。

Ubuntu安全

Sidebar