温馨提示×

CentOS服务器如何进行内容更新

小樊
38
2025-11-22 04:42:20
栏目: 云计算

CentOS 服务器内容更新指南

一 更新前准备

  • 备份关键数据与配置:包括数据库、应用配置、证书、用户数据等,确保可回滚。
  • 选择维护窗口:在业务低峰期执行,避免影响线上服务。
  • 检查可用空间与负载:使用命令查看磁盘与资源使用情况,例如:
    • 查看磁盘:df -h
    • 查看系统日志:tail -f /var/log/messagestail -f /var/log/secure
  • 确认系统版本与仓库:
    • 查看版本:cat /etc/centos-release
    • 必要时启用 EPEL 仓库:sudo yum install epel-release
  • 准备回滚方案:记录当前关键软件版本,保留旧内核,准备应急回滚脚本或服务切换预案。

二 使用 YUM 或 DNF 执行更新

  • 识别系统与包管理器:
    • CentOS 7 通常使用 YUM
    • CentOS 8/Stream 使用 DNF
  • 常用命令清单:
目的 CentOS 7 YUM CentOS 8/Stream DNF
检查可更新 sudo yum check-update sudo dnf check-update
更新全部软件包 sudo yum update sudo dnf update
仅更新安全补丁 sudo yum update --security sudo dnf update --security
更新单个软件包 sudo yum update <package_name> sudo dnf update <package_name>
刷新元数据缓存 sudo yum clean all && sudo yum makecache sudo dnf clean all && sudo dnf makecache
重启系统 sudo reboot sudo reboot
  • 说明:
    • 更新内核或核心组件后,建议重启以加载新内核。
    • 若提示缺少仓库或软件包,先启用相应仓库(如 EPEL)再执行更新。

三 自动化与安全更新策略

  • 生产环境建议先在测试环境验证,再分批上线;自动更新需谨慎评估风险。
  • 使用 yum-cron 实现自动更新(适用于 CentOS 7/8):
    • 安装并启用服务:
      • sudo yum install yum-cron
      • sudo systemctl enable --now yum-cron
    • 配置策略(/etc/yum/yum-cron.conf 或 /etc/yum/yum-cron.d/*.conf):
      • 仅下载不安装:将 apply_updates = no
      • 下载并安装:将 apply_updates = yes
      • 仅安全更新:设置 update_cmd = security
  • 建议做法:
    • 关键业务服务器优先采用“仅下载+人工审核后安装”的策略。
    • 定期查看更新日志与变更记录,确保可追溯。

四 系统级升级与内核更新

  • 跨小版本或跨大版本升级(如 7 → 8/Stream):
    • 先备份与评估,建议在测试环境演练。
    • 可参考官方工具链(如 preupgrade-assistantredhat-upgrade-tool)进行兼容性检查与升级流程执行,严格按文档步骤操作。
  • 仅升级内核(不更换发行版):
    • 可启用 ELRepo 仓库获取新版内核,示例:
      • 导入 GPG:rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
      • 安装仓库:sudo yum -y install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
      • 查看可用内核:sudo yum --disablerepo=“*” --enablerepo=“elrepo-kernel” list available
      • 安装主线内核:sudo yum --disablerepo=“*” --enablerepo=“elrepo-kernel” -y install kernel-ml.x86_64
    • 升级内核后务必保留旧内核,重启并在 GRUB 中选择新内核验证稳定性。

五 更新后的验证与维护

  • 重启并验证服务:确认关键服务(如 nginx、sshd、数据库)正常,登录与业务功能可用。
  • 清理与巡检:
    • 清理缓存:sudo yum clean allsudo dnf clean all
    • 查看磁盘:df -h
    • 查看日志:tail -f /var/log/messagestail -f /var/log/secure
  • 防火墙与 SELinux:
    • 重载防火墙:sudo firewall-cmd --reload
    • 检查 SELinux 状态:sestatus
  • 回滚与复盘:
    • 如出现异常,优先回滚至上一个稳定内核或服务版本,并分析更新日志定位问题。

0