先说一个核心判断:CentOS Stream 8 已于 2024 年 5 月 31 日正式结束生命周期(EOL),官方不再推送任何安全更新。如果你还在运行 Stream 8,最稳妥的方案是迁移到 CentOS Stream 9 或其他活跃发行版(例如 Ubuntu、Kylin OS)。不过,若因某些历史遗留原因或测试需要,你仍然希望将 Stream 8 更新到“最新版本”,下面的操作步骤可以帮助你完成这个流程。需要提醒的是,这条路的终点就是 EOL 版本,所有安全风险需要自行承担。

1. 升级前的准备工作
动手前,务必做好回退方案。升级过程中,软件包可能被卸载、配置文件可能被覆盖,甚至系统可能无法启动。因此第一步永远是备份——请将 /etc、/home 等关键目录以及业务数据完整备份一次。不要嫌麻烦,一旦出现问题,后悔都来不及。
然后检查硬件兼容性:确认你的服务器能够运行最新内核,提前移除那些与新版本冲突的自定义软件包(例如第三方仓库中的非标准软件),并制定好回滚方案。最后,先将当前系统更新到它所能达到的最高版本,以减少后续升级时的依赖冲突。
2. 具体升级步骤
(1)更新当前系统至最新状态
# 查看当前系统版本(确认是 Stream8)
cat /etc/redhat-release
# 清理 Yum/DNF 缓存
sudo yum clean all
# 或 sudo dnf clean all(如果你已经安装了 dnf)
# 更新所有已安装软件包
sudo yum update -y
# 或 sudo dnf update -y
更新完成后,重启系统使变更生效:
sudo reboot
(2)安装 CentOS Stream 仓库
如果系统里尚未添加 Stream 仓库,请手动安装 centos-release-stream 包:
sudo dnf install centos-release-stream
安装完成后,系统会自动识别 Stream 仓库源。
(3)切换至 Stream 仓库并同步系统
核心步骤:使用 dnf swap 将原有的 CentOS Linux 仓库替换为 Stream 仓库,然后通过 distro-sync 将软件包版本同步到 Stream 的最新状态:
# 交换仓库
sudo dnf swap centos-{linux,stream}-repos
# 同步系统至 Stream 版本(自动处理依赖关系)
sudo dnf distro-sync -y
过程中可能会提示你需要卸载或降级某些软件包(例如旧内核),按照提示确认即可,无需惊慌。
(4)重启系统并验证版本
升级完成后,重启系统以加载新内核和配置:
sudo reboot
重启后使用以下命令查看版本:
cat /etc/redhat-release
正常情况下应该看到类似“CentOS Stream release 8.x.x”的信息。
3. 注意事项
- 停止维护的风险是真实存在的:Stream 8 已经 EOL,升级后也没有安全补丁,系统会暴露在各种威胁之下。如果你的业务对安全性有要求,请务必尽快迁移到 Stream 9(支持至 2027 年)或国产发行版(例如 Kylin OS V10)。
- 依赖冲突处理:如果升级过程中遇到报错,可先尝试
sudo yum clean all清理缓存,再手动安装缺失的包sudo dnf install。大多数问题都能通过这两步解决。 - 非生产环境测试:切勿直接在线上操作。请先在测试机上完整走一遍流程,确认所有依赖和应用都正常运行后,再应用于生产环境。
最后提醒一句:如果追求长期稳定,Stream 9 或国产化替代方案才是正确的选择。上述步骤仅适用于那些必须停留在 Stream 8 做过渡或测试的场景。
