系统补丁更新
约 706 字
系统补丁包含安全漏洞修复与稳定性改进。长期不更新的服务器,会带着公开已知漏洞裸奔在公网上(挖矿、勒索、蠕虫最先扫描的就是旧漏洞),建议把补丁更新作为例行运维。
两种更新节奏
| 方式 | 适用场景 |
|---|---|
| 立即更新 | 高危漏洞被公开利用、关键业务系统、合规要求限期修复 |
| 定时更新 | 非紧急补丁放到维护窗口(如凌晨),先测试避免兼容性问题 |
生产环境的稳妥做法:自动装安全补丁 + 普通更新人工确认,重要数据提前备份,见备份与容灾策略。
Debian / Ubuntu
sudo apt update # 刷新软件源索引
apt list --upgradable # 查看可更新列表
sudo apt upgrade -y # 安装更新只安装安全更新,用官方的自动更新组件:
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades # 选"是"启用
sudo systemctl enable --now unattended-upgrades配置文件在 /etc/apt/apt.conf.d/50unattended-upgrades,默认只装 -security 源的补丁;Unattended-Upgrade::Automatic-Reboot 可控制补丁需要重启时是否自动重启(默认不重启,留人工安排)。
CentOS / Rocky Linux / AlmaLinux
sudo dnf check-update # 查看可更新列表(yum 同理)
sudo dnf update -y # 安装全部更新
sudo dnf update --security -y # 只装安全补丁自动安全更新用 dnf-automatic(CentOS 7 用 yum-cron):
sudo dnf install -y dnf-automatic
sudo sed -i 's/^apply_updates = no/apply_updates = yes/' /etc/dnf/automatic.conf
sudo sed -i 's/^upgrade_type = .*/upgrade_type = security/' /etc/dnf/automatic.conf
sudo systemctl enable --now dnf-automatic.timer是否需要重启
补丁更新后,内核与 glibc 等基础库的更新要重启才生效:
# Debian/Ubuntu:文件存在即需重启
ls /var/run/reboot-required
# RHEL 8+ 系:
sudo needs-restarting -r # 回显 "Reboot is required" 即需重启业务允许的话尽快安排重启窗口;只更新了普通软件包(如 nginx、openssl 的服务端重载即可生效的除外)一般无需重启,重启对应服务即可。
内核更新需要重启
通过补丁更新装上的新内核,重启后才会真正运行,可执行 uname -r 对比重启前后确认,内核管理详见升级Linux内核。
常见问题
apt update 报 404:系统已 EOL,官方源已下架,先换归档源,见管理Linux实例软件源。
更新后某服务起不来:看服务自身日志确认是配置不兼容还是补丁问题;严重的可回退该软件包版本(apt install 包名=旧版本)。
大版本升级不是打补丁:Ubuntu 20.04 → 22.04、CentOS 7 → Stream/Alma 9 属于系统迁移,风险完全不同,不要用 apt upgrade / dnf update 混着做;正式做法参考官方发行版升级指南,并先做完整备份。
