CentOS 7升级至8会有哪些更新日志变化?
CentOS 7升级到8全攻略:手把手教你平滑过渡
最近不少朋友都在问我,CentOS 7系统用了好几年,现在想升级到CentOS 8,但又怕升级过程中出问题,作为一个用了十多年Linux的老用户,今天就跟大家分享下我的升级经验,保证让你少走弯路。

先说个真实案例,上个月我们公司有台服务器从CentOS 7.9升级到8.5,原本以为会像以前那样简单,结果在升级过程中遇到了不少坑,比如yum源配置错误、旧版本软件包冲突、系统服务启动失败等问题,不过经过反复测试,最终还是成功完成了升级,现在系统运行比以前更稳定了。
升级前最重要的准备工作就是备份,我建议至少做三重备份:系统快照、关键数据备份、配置文件备份,特别是/etc目录下的配置文件,最好单独打包保存,记得去年有个朋友升级时忘了备份防火墙配置,结果升级后所有端口规则都丢失了,花了整整两天才恢复。
升级过程其实分三步走:
第一步是环境检查,用yum check-update
看看有没有可用的更新包,用systemctl list-units --type=service
检查关键服务状态,特别要注意PHP、MySQL这些依赖库的版本兼容性,我们之前就遇到过PHP 5.6在CentOS 8上无法运行的问题。
第二步是升级核心组件,这里有个小技巧:先用yum upgrade
把所有软件包更新到最新版本,再用yum module reset php
重置模块状态,升级过程中要特别注意观察日志输出,如果看到"Transaction check error"这样的提示,说明有软件包冲突,需要手动处理。
第三步是系统迁移,推荐使用leapp
工具进行升级,这个工具会自动处理大部分兼容性问题,不过要注意,升级前必须禁用第三方仓库,否则可能会引入不兼容的软件包,我们测试时发现,EPEL仓库的某些包在CentOS 8上会导致系统启动失败。

升级完成后别急着庆祝,还有几个关键检查要做:
- 网络配置:用
ip addr
检查网卡名称是否改变,CentOS 8默认使用Predictable Network Interface Names - 防火墙设置:确认firewalld服务是否正常启动,规则是否完整迁移
- 定时任务:用
crontab -l
检查计划任务是否保留 - 日志系统:确认rsyslog配置是否正确,特别是日志文件路径
最后说个注意事项:CentOS 8已经进入维护期,建议考虑迁移到AlmaLinux或Rocky Linux这些CentOS的替代品,不过如果你暂时不想迁移,按照这个方法升级到8.5还是能获得不错的性能提升的。
整个升级过程大概需要2-3小时,具体时间取决于服务器配置和软件包数量,建议选择业务低峰期进行操作,最好有两个人配合,一个人操作,另一个人盯着日志输出,遇到问题不要慌,大部分错误都可以通过回滚到快照解决。
希望这些经验能帮到正在准备升级的朋友,升级前多做测试,升级时保持耐心,升级后仔细检查,这样就能把风险降到最低,如果遇到特别棘手的问题,欢迎在评论区留言,我们一起讨论解决方案。