unattended-upgrades:Debian/Ubuntu 自动安全更新
unattended-upgrades 是 Debian 和 Ubuntu 系统上用于自动安装安全更新的工具。对于没有专人日常维护的服务器,它能确保已知漏洞及时被修补,减少被攻击的风险。
安装
首先更新软件包列表并安装:
sudo apt update
sudo apt upgrade
sudo apt install unattended-upgrades
安装完成后,系统会自动创建一个 cron 任务和 systemd 计时器,用于周期性检查并安装更新。
配置
主要配置文件有两个:
启用 / 禁用自动更新
/etc/apt/apt.conf.d/20auto-upgrades
内容格式:
# 禁用
//APT::Periodic::Update-Package-Lists "0";
//APT::Periodic::Unattended-Upgrade "0";
# 启用:每天检查并自动安装
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";
控制哪些包会被更新
/etc/apt/apt.conf.d/50unattended-upgrades
默认配置大致如下(// 开头的行被忽略):
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}";
"${distro_id}:${distro_codename}-security";
"${distro_id}ESMApps:${distro_codename}-infra-security";
"${distro_id}ESM:${distro_codename}-infra-security";
};
Unattended-Upgrade::Package-Blacklist {
# 在此列出不需要自动更新的包
};
几个常用配置:
- 只更新安全包:在
Allowed-Origins中仅保留带-security后缀的行 - 排除特定包:在
Package-Blacklist中添加包名,每行一个 - 自动重启:需要时(如内核更新),取消注释
Unattended-Upgrade::Automatic-Reboot "true";并设置Unattended-Upgrade::Automatic-Reboot-Time "02:00";