在本篇文章中,我们将介绍如何在 Debian 和其衍生版上,配置系统自动安装更新,并通过邮件通知系统管理员,每次升级的变更内容。本文中提到的多数命令,由于是系统层面的配置,需要用 root 来执行。
在配置系统更新前,我们需要安装这两个安装包,安装命令如下:
# apt update && aptitude install unattended-upgrades apt-listchanges -y
unattended-upgrades 是一个可以让系统保持自动更新的包。这些更新包含了安全更新和 Bugfix 等。启用 unattended-upgrades 后,我们还需要知道每次改动的内容,apt-listchanges 解决了这个问题,它将会邮件通知我们升级过程中发生的改变。
依赖包安装完成后,需要调整一下,完成的自动升级的配置。打开 /etc/apt/apt.conf.d/50unattended-upgrades,将下面的内容粘贴到这个文件中,然后用它修改条目,记得移除那些小行星。
APT::Periodic::Update-Package-Lists "1"; APT::Periodic::Download-Upgradeable-Packages "1"; APT::Periodic::AutocleanInterval "7"; APT::Periodic::Unattended-Upgrade "1"; Unattended-Upgrade::Mail "**YOUR_EMAIL_HERE**"; // Automatically upgrade packages from these Unattended-Upgrade::Origins-Pattern { "o=Debian,a=stable"; "o=Debian,a=stable-updates"; "o=Debian,a=proposed-updates"; "origin=Debian,codename=${distro_codename},label=Debian-Security"; }; // You can specify your own packages to NOT automatically upgrade here Unattended-Upgrade::Package-Blacklist { // "vim"; // "libc6"; // "libc6-dev"; // "libc6-i686"; }; Unattended-Upgrade::MailOnlyOnError "true"; Unattended-Upgrade::Automatic-Reboot "false";
注意在最后一行,如果希望服务器在必要时重新启动,你可以将自动重新引导设置为 true。
接下来,我们可以安装 “apticron” 来管理 APT 更新的自动执行。
# apt -y install apticron
用编辑器打开 /etc/apticron/apticron.conf ,将电子邮件变量设置为你自己的邮件地址,这样您就可以收到更改列表。
EMAIL="**me@debian.cn**" DIFF_ONLY="1" LISTCHANGES_PROFILE="apticron" SYSTEM="**HOSTNAME.OF.SERVER**" NOTIFY_HOLDS="0" NOTIFY_NO_UPDATES="0"
打开 /etc/apt/listchanges.conf 以便配置 APT 来保存对数据库的更改 :
[apt] frontend=pager email_address=**me@debian.cn** confirm=0 save_seen=/var/lib/apt/listchanges.db which=news
你也可以使用调试模式手动运行 unattended-upgrade ,看看它是否正常工作 :
# unattended-upgrade -d