centos yum更新系统指南
小樊
36
2025-12-07 11:44:08
CentOS 使用 YUM 更新系统指南
一 更新前准备
- 备份关键数据与配置:包括业务数据、数据库、配置文件(如 /etc、/var/lib、/home 等),并准备回滚方案。
- 确认系统与版本:执行 cat /etc/redhat-release,明确是 CentOS 7 还是 CentOS 8/Stream,不同版本在工具与策略上存在差异。
- 选择维护窗口与方式:尽量在低峰时段进行,先在测试环境验证,必要时采用蓝绿/灰度发布。
- 检查可用空间与网络:执行 df -h 确认根分区与 /var 有足够空间;确保网络与镜像源可达。
- 如计划跨小版本或跨大版本,先做兼容性评估与演练,避免直接在生产环境执行大版本升级。
二 常用 YUM 更新命令
- 检查可用更新:执行 sudo yum check-update。
- 更新指定软件包:执行 sudo yum update <package_name>。
- 更新全系统(常规):执行 sudo yum update。
- 仅应用安全更新:执行 sudo yum update --security。
- 刷新元数据缓存:执行 sudo yum update --refresh。
- 清理本地缓存:执行 sudo yum clean all。
- 说明:CentOS 8 及更高版本默认使用 DNF,命令与 YUM 类似(如 sudo dnf update),在需要更高性能时可优先使用 DNF。
三 自动化与安全更新
- 安装并启用自动更新(适用于仍使用 YUM 的场景):
- 安装组件:sudo yum install yum-cron
- 启用并启动:sudo systemctl enable yum-cron && sudo systemctl start yum-cron
- 配置策略:编辑 /etc/yum/yum-cron.conf,将 update_cmd = update 与 apply_updates = yes 按需设置;可按需调整 /etc/yum/yum-cron.d/ 下的策略文件。
- 建议做法:生产环境优先采用“仅安全更新”或“通知不自动安装”,在维护窗口手动执行,降低业务风险。
四 更新后验证与常见问题
- 重启系统:内核或关键组件更新后执行 sudo reboot。
- 验证更新结果:
- 查看当前版本:cat /etc/redhat-release
- 查看可更新包:sudo yum check-update 或 sudo yum list updates
- 查看日志:如 tail -f /var/log/messages、tail -f /var/log/secure
- 维护与排障:
- 清理缓存:sudo yum clean all
- 检查磁盘:df -h
- 防火墙与 SELinux:如 sudo firewall-cmd --reload、sestatus
- 常见问题处理:
- 冲突或依赖错误:优先尝试 sudo yum clean all 后重试;必要时使用 yum provides 定位提供者与冲突包。
- 空间不足:清理 /var/cache/yum、旧日志与镜像缓存,或扩容分区后再更新。
- 业务连续性:对数据库、消息队列等有状态服务,先摘除流量/维护模式,更新后滚动重启并校验。
五 进阶场景
- 跨小版本或跨大版本变更:不建议直接用 YUM 在生产环境“跨版本升级”。应先评估与演练,常见路径包括使用 preupgrade-assistant 与 redhat-upgrade-tool 进行升级准备与执行,或采用 distro-sync 在受控环境下同步;操作前务必完整备份与回滚预案。
- 内核更新:除发行版内核外,如需新特性或驱动,可通过 ELRepo 仓库安装主线内核(如 kernel-ml),但需评估与测试驱动与兼容性,谨慎在生产环境启用。