从CentOS 7.9升级到8.0会有哪些变化?

从 CentOS 7.9 升级到 CentOS 8 是一个重大版本升级,涉及架构、软件包和工具链的显著变化。以下是主要变化和注意事项:


一、核心变化

  1. 软件包管理

    • YUM 被 DNF 取代:CentOS 8 使用 DNF(Dandified YUM)作为默认包管理器,语法与 YUM 类似但性能更好,依赖解析更高效。
    • 模块化仓库(Application Streams):提供更灵活的软件版本管理(如 Python 3.6/3.8、Node.js 等可并行安装)。
  2. 内核与系统架构

    • 内核版本:从 3.x 升级到 4.18+,支持新硬件和特性(如 BPF、文件系统改进)。
    • 默认文件系统:XFS 支持共享数据块和 reflink,提升效率。
  3. 编程语言与运行时

    • Python 3 为默认:CentOS 8 默认安装 Python 3.6(/usr/bin/python3),Python 2 需手动安装。
    • 其他运行时:GCC 8.2、OpenJDK 11、Ruby 2.5 等。
  4. 安全与网络

    • 防火墙firewalld 使用 nftables 后端(替代 iptables)。
    • 身份管理:FreeIPA 集成增强。
  5. 服务管理

    • Systemd 版本升级:改进容器集成和资源管理。

二、升级注意事项

  1. 不支持直接升级
    CentOS 官方不提供从 7 到 8 的直接升级路径(无类似 yum upgrade 的平滑升级)。需通过以下方式:

    • 全新安装:备份数据后重新安装 CentOS 8。
    • 迁移工具:可使用 redhat-upgrade-tool(非官方,有风险)或第三方工具(如 ELevate),但需充分测试。
  2. 兼容性问题

    • 旧软件包可能不兼容:需检查自定义应用、驱动(如第三方内核模块)是否支持 CentOS 8。
    • 配置差异:服务配置文件路径或格式可能变化(如 Apache/Nginx)。
  3. 硬件要求

    • 确保硬件支持 UEFI/GPT(建议),旧 BIOS/MBR 可能需调整。
  4. 生命周期
    CentOS 8 已提前终止维护(原定 2029 年,实际 2021 年底结束),建议考虑替代方案:

    • Rocky Linux/AlmaLinux:CentOS 8 的社区接替版本。
    • CentOS Stream:滚动发布版本(介于 Fedora 和 RHEL 之间)。
    • RHEL 开发者订阅:免费用于小型生产环境。

三、建议升级步骤

  1. 评估与备份

    • 运行 rpm -qa 记录已安装软件包。
    • 备份数据、配置文件及数据库。
  2. 测试环境验证

    • 在虚拟机中模拟升级,测试关键应用兼容性。
  3. 选择替代系统
    若坚持使用 CentOS 系列,推荐:

    CentOS 7.9 → Rocky Linux 8/AlmaLinux 8(直接迁移)

    或考虑 Ubuntu LTSDebian 等稳定发行版。

  4. 执行安装

    • 全新安装目标系统,恢复数据并重新配置服务。

四、常见问题

  • Python 2 脚本报错:需修改脚本指向 Python 3 或手动安装 Python 2。
  • 旧内核模块失效:需联系供应商提供 CentOS 8 兼容版本。
  • 仓库配置变化:重新配置第三方仓库(如 EPEL 8)。

总结

从 CentOS 7.9 到 8 是跳跃式升级,需谨慎规划。由于 CentOS 8 已停止维护,建议直接迁移到 Rocky Linux 8AlmaLinux 8(提供官方迁移工具)。生产环境务必先在测试环境中验证!

云服务器