Linux自动安全更新需按发行版选用unattended-upgrades(Debian/Ubuntu)或dnf-automatic(RHEL/CentOS/Fedora),聚焦安全补丁、配置源策略、验证执行并配套告警与备份。

Linux 运维中配置自动安全更新,核心是按发行版选对工具、配准策略、验证执行,而不是写脚本或盲目启用全量升级。Debian/Ubuntu 用 unattended-upgrades,RHEL/CentOS/Fedora 用 dnf-automatic(或 yum-cron)。两者都聚焦安全补丁,避免非必要变更引入风险。
Ubuntu/Debian:配置 unattended-upgrades
它不是“可选插件”,而是官方维护的生产级机制,自带源过滤、中断恢复、内核保留、日志归档等能力。
- 安装并启用服务:
sudo apt update && sudo apt install unattended-upgrades -y;再运行sudo dpkg-reconfigure --priority=low unattended-upgrades,选 Yes - 确认关键配置文件生效:
•/etc/apt/apt.conf.d/20auto-upgrades中必须有两行且值为"1":APT::Periodic::Update-Package-Lists "1";APT::Periodic::Unattended-Upgrade "1";
可追加清理策略:APT::Periodic::AutocleanInterval "7"; - 控制更新范围:
编辑/etc/apt/apt.conf.d/50unattended-upgrades,确保Unattended-Upgrade::Allowed-Origins包含安全源,例如:"${distro_id}:${distro_codename}-security";
如需扩展到 updates 源,可额外添加一行,但需评估兼容性风险 - 增强可靠性(可选):
设置自动清理无用依赖:Unattended-Upgrade::Remove-Unused-Dependencies "true";
启用自动重启(仅限内核更新后):Unattended-Upgrade::Automatic-Reboot "true";
指定重启时间:Unattended-Upgrade::Automatic-Reboot-Time "03:00";
RHEL/CentOS/Fedora:配置 dnf-automatic
替代旧版 yum-cron,集成更紧密,支持 timer 控制与邮件通知,适合企业环境。
- 安装:
sudo dnf install dnf-automatic -y - 启用并启动定时器:
sudo systemctl enable --now dnf-automatic.timer - 主配置在
/etc/dnf/automatic.conf:
•apply_updates = yes开启自动安装
•download_updates = yes确保提前下载
•upgrade_type = security限定只处理安全更新(推荐)
•basecmd = upgrade-minimal避免大版本跳跃
• 配置emitters段启用邮件通知,如:email_to = admin@example.com - 检查状态:
systemctl status dnf-automatic.timer和journalctl -u dnf-automatic
验证与可观测性
配置完不等于生效,必须验证流程是否真正跑通。
- 模拟运行(不安装):
Ubuntu:sudo unattended-upgrade --dry-run -d
RHEL:sudo dnf --assumeno upgrade --security - 查看日志:
Ubuntu:tail -n 20 /var/log/unattended-upgrades/unattended-upgrades.log
RHEL:journalctl -u dnf-automatic --since "1 day ago" - 检查更新记录:
Ubuntu:apt list --upgradable(手动触发前应为空)
RHEL:dnf list updates --security
生产环境注意事项
自动更新不是“设完就忘”的功能,它需要配套管理习惯。
- 禁用 root SSH 登录、启用密钥认证、关闭默认端口——这些基础加固比自动更新更重要。没有访问控制,补丁再及时也拦不住已入侵的会话
- 关键系统务必先在测试机验证,观察服务稳定性、内核模块兼容性、应用启动顺序
- 配置邮件或 Prometheus+Alertmanager 告警,失败更新必须有人知晓;不要依赖日志轮转后才翻看
- 定期备份 /etc/apt/apt.conf.d/ 和 /etc/dnf/ 目录,更新出问题时能快速回退配置而非重装


















