温馨提示×

CentOS如何更新软件版本

小樊
45
2025-12-13 15:34:01
栏目: 智能运维

CentOS 更新软件版本实用指南

一 基础更新操作

  • 识别系统与包管理器:CentOS 7 常用 yum;CentOS 8/Stream 使用 dnf(命令与 yum 高度兼容)。
  • 检查可更新:
    • yum:sudo yum check-update
    • dnf:sudo dnf check-update
  • 更新单个软件包:
    • yum:sudo yum update <package_name>
    • dnf:sudo dnf update <package_name>(亦可 sudo dnf upgrade <package_name>,二者在 dnf 中等价)
  • 更新全系统:
    • yum:sudo yum update -y
    • dnf:sudo dnf update -y
  • 刷新元数据缓存:
    • yum:sudo yum clean all && sudo yum makecache
    • dnf:sudo dnf clean all && sudo dnf makecache
  • 重启建议:若更新了内核或关键运行库,建议重启:sudo reboot

二 进阶用法

  • 仅安装安全补丁:
    • yum:sudo yum update --security -y
    • 查看安全更新:yum updateinfo list security
  • 排除特定包(如内核):
    • yum:sudo yum update --exclude=kernel* -y
  • 批量更新指定包:
    • dnf:sudo dnf update nginx redis docker-ce
    • 从文件读取包名更新:sudo dnf update $(cat packages.txt)
  • 安装指定版本(仓库存在该版本时):
    • dnf:sudo dnf install <package_name>-<version>(可能触发升级或降级)
  • 启用额外仓库获取更新版本:
    • EPEL:sudo dnf install epel-release(或 sudo yum install epel-release

三 自动化与安全实践

  • 自动更新(yum-cron):
    • 安装与启用:sudo yum install -y yum-cron && sudo systemctl enable --now yum-cron
    • 仅安全更新:编辑 /etc/yum/yum-cron.conf,设置 update_cmd = securityapply_updates = yes
  • 日志与审计:
    • 查看更新日志:sudo tail -f /var/log/yum.log
    • 查看定时任务执行:sudo grep yum /var/log/cron
  • 版本锁定(避免关键服务被升级):
    • 安装插件:sudo yum install -y yum-plugin-versionlock
    • 锁定包:sudo yum versionlock <package_name>
  • 变更风险控制:更新前备份关键数据与配置,生产环境先在测试环境验证,选择低峰时段执行。

四 常见问题与处理

  • 依赖冲突或个别包失败:
    • 跳过错误包:sudo yum update --skip-broken
    • 清理重复/残留依赖:sudo package-cleanup --dupes
  • 仓库无新版本或版本较旧:
    • 确认仓库配置并刷新缓存;必要时启用 EPEL 等第三方仓库后再更新。
  • 更新后服务未生效:重启对应服务或必要时重启系统(例如内核更新)。

0