温馨提示×

CentOS Stream 8如何进行版本升级

小樊
37
2025-12-21 11:10:54
栏目: 智能运维

CentOS Stream 8 版本升级指南

升级路径与准备

  • 明确目标:在 CentOS Stream 8 上通常进行两类操作:
    • 保持 8 系列的最新滚动版本(系统自带滚动更新,无需跨主版本)。
    • 跨主版本升级到 CentOS Stream 9(需要手动切换仓库并执行跨版本同步)。
  • 升级前务必完成:
    • 完整备份(数据、配置、数据库、证书、密钥等)。
    • 在测试环境验证关键业务。
    • 预留可回滚方案(快照/克隆/救援模式)。
    • 确认控制台与带外管理可用(VNC/iKVM/IPMI 等)。
    • 注意:跨主版本升级存在兼容性风险,可能导致 SSH root 登录策略变化网卡名称变更 等,需提前评估与验证。

场景一 保持 CentOS Stream 8 为最新滚动版本

  • 刷新元数据并全量更新:
    • 执行:sudo dnf update -y && sudo reboot
  • 如曾使用第三方或自定义仓库,建议核对仓库可用性,必要时切换至可用镜像(如官方或可信镜像源)。

场景二 从 CentOS Stream 8 升级到 CentOS Stream 9

  • 安装准备与配置处理:
    • 安装工具:sudo dnf -y install rpmconf yum-utils
    • 处理旧配置:sudo rpmconf -a
    • 清理无效依赖:sudo package-cleanup --leaves && sudo package-cleanup --orphans
  • 切换至 Stream 9 仓库并升级:
    • 方式 A(推荐,使用模块切换):
      • 切换仓库:sudo dnf swap -y centos-{linux,stream}-repos
      • 设置版本变量:echo 9-stream | sudo tee /etc/yum/vars/stream
      • 同步发行版:sudo dnf distro-sync --allowerasing --setopt=deltarpm=false
    • 方式 B(直接安装 9 的 release 包后同步):
      • 安装 9 的 release 包(示例镜像,按实际可用镜像调整):
        • sudo rpm -ivh --nodeps https://mirrors.aliyun.com/centos-stream/9-stream/BaseOS/x86_64/os/Packages/centos-stream-release-9.0-23.el9.noarch.rpm
        • sudo rpm -ivh --nodeps https://mirrors.aliyun.com/centos-stream/9-stream/BaseOS/x86_64/os/Packages/centos-gpg-keys-9.0-23.el9.noarch.rpm
        • sudo rpm -ivh --nodeps https://mirrors.aliyun.com/centos-stream/9-stream/BaseOS/x86_64/os/Packages/centos-stream-repos-9.0-23.el9.noarch.rpm
      • 清理缓存:sudo dnf clean all
      • 同步发行版:sudo dnf distro-sync --allowerasing --setopt=deltarpm=false
  • 处理模块冲突与 EPEL:
    • 重置冲突模块(示例):sudo dnf module reset virt
    • 安装 EPEL 9:sudo dnf -y install epel-release
  • 重建 RPM 数据库并安装新内核:
    • 重建数据库:sudo rpm --rebuilddb
    • 安装内核与引导相关包:sudo dnf -y install kernel kernel-core shim
  • 可选:安装基础环境(最小化):sudo dnf group install minimal-environment -y
  • 生成引导配置(按实际分区/启动方式选择其一):
    • BIOS:sudo grub2-mkconfig -o /boot/grub2/grub.cfg
    • UEFI:sudo grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
  • 重启:sudo reboot
  • 重要提示:
    • 跨版本升级后,旧内核可能不兼容新特性;如为 XFS,从 CentOS Stream 8 升级到 9 不会在既有分区上启用新特性,但全新创建时可能引入不兼容变化,需提前评估。

升级后验证与常见问题

  • 版本与内核验证:
    • 查看系统版本:cat /etc/redhat-releasecat /etc/os-release
    • 查看内核与默认启动项:uname -rgrubby --default-kernel
  • 常见问题处理:
    • 模块冲突(如 “nothing provides module(platform:el8) …”):重置相关模块,例如 sudo dnf module reset virt
    • 引导失败:进入救援模式检查 /boot/boot/efigrub.cfg,必要时重新生成并确认默认内核
    • 网卡名称变化:检查 ip a/etc/default/grub 中的 net.ifnames/biosdevname 设置,必要时调整并重建 initramfs
    • 远程登录异常:核对 sshd_configPermitRootLoginPasswordAuthentication 等策略,确保密钥/口令可用
    • 回滚建议:保留一台回滚节点或快照;跨版本升级前准备救援介质与回滚脚本。

0