Ubuntu 配置自动更新

主要编译自Ubuntu官方参考手册

https://help.ubuntu.com/lts/serverguide/automatic-updates.html.en

软件包 unattended-upgrades 可以用来自动安装软件包的更新,并且其能配置为自动更新所有软件包,或者仅安装软件包的安全性升级。首先在终端输入下列命令以安装该软件包。

sudo apt install unattended-upgrades

译注:通常而言unattended-upgrades软件包是默认安装的。

通过编辑 /etc/apt/apt.conf.d/50unattended-upgrades 文件,可以配置unattended-upgrades软件包以达到你的需求。

Unattended-Upgrade::Allowed-Origins {
        "${distro_id}:${distro_codename}";
        "${distro_id}:${distro_codename}-security";
//      "${distro_id}:${distro_codename}-updates";
//      "${distro_id}:${distro_codename}-proposed";
//      "${distro_id}:${distro_codename}-backports";
};

特定的软件包也可以通过加入黑名单来避免其自动更新。将软件包的名字加入下方列表以阻止其自动更新。

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

注意:双斜线“//”会被当做注释,因此任何在双斜线后的语句都将不会被计算。

译注:上两个配置文件片段都是默认情况下的配置,即自动更新主线(即“”)安全升级(即“security”)频道中需要更新的软件包,同时不阻止任何软件包的自动更新。根据实际需要可以放开对更新(即“updates”)频道的更新;而建议(即“proposed”)频道,则不建议放开。

要启用自动更新,可以编辑 /etc/apt/apt.conf.d/20auto-upgrades 文件,并设置正确的 apt 配置参数。

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

上述的配置将会每天更新软件包列表,下载并安装可用的更新。本地下载的压缩包将会每周清理一次。 根据于你的选择,在一些升级到更新一些版本的Ubuntu服务器上,上述文件也许不存在。如果不存在,创建一个这个名字的新文件也应当可行。

注意:你可以通过阅读  /etc/cron.daily/apt 脚本的头部内容来了解更多关于 apt 周期性配置的选项。

译注:虽然手册上标了个“注意”,说要去 /etc/cron.daily/apt 的头部查阅,实际上对于Ubuntu≥18.04,你得去 /usr/lib/apt/apt.systemd.daily 的头部查阅更多的配置选项。

unattended-upgrades 的运行结果将会记录到 /var/log/unattended-upgrades 目录中。

通过配置 /etc/apt/apt.conf.d/50unattended-upgrades 文件中的 Unattended-Upgrade::Mail 项将会使 unattended-upgrades 向管理员发送邮件,报告任何需要升级的,或者存在问题的软件包。

另一个有用的的软件包是 apticronapticron 会配置一个 cron 任务通过邮件来通知管理员在系统中任何有可用升级的软件包,并包含每个软件包升级变更的总结。

要安装 apticron 软件包,在终端输入:

sudo apt install apticron

当软件包安装完成后,编辑 /etc/apticron/apticron.conf 文件,设置邮箱地址以及其他选项:

EMAIL="root@example.com"

留下评论