加油
努力

从 CentOS 7.6 升级到 8.2 会带来哪些显著变化?

从 CentOS 7.6 升级到 CentOS 8.2 是一次重大版本升级(major version upgrade),不仅仅是补丁或小版本更新,而是跨越了两个主要发行版本。这种升级会带来许多显著的技术和架构变化。以下是关键的显著变化:


1. 系统基础架构的变化

特性 CentOS 7.6 CentOS 8.2
内核版本 3.10.x(基于 Linux 3.10 LTS) 4.18.x(基于 Linux 4.18 LTS)
默认文件系统 XFS(推荐),ext4 可选 XFS(默认)
初始化系统 systemd(已使用) systemd(继续使用,但更新到新版)
软件包管理器 yum + rpm dnf(取代 yum,基于 DNF 技术)

💡 说明:CentOS 8 使用 dnf 作为默认包管理器,它是 yum 的下一代替代品,性能更好、依赖解析更准确。


2. 软件包与模块化支持(Modularity)

  • 引入 RPM 包集合(AppStream)
    • CentOS 8 将软件分为 BaseOSAppStream
      • BaseOS:提供核心操作系统功能(如内核、systemd 等)。
      • AppStream:提供应用程序、语言运行时和工具(如 Python、Node.js、PHP、数据库等)。
  • 模块化(Modularity)
    • 允许在同一系统上安装多个版本的软件(例如 Python 3.6 和 Python 3.9)。
    • 使用命令如 dnf module list, dnf module enable 来管理。

✅ 优势:更灵活地管理应用版本,避免“版本锁定”问题。


3. Python 默认版本变化

  • CentOS 7:默认 Python 2.7,Python 3 需手动安装。
  • CentOS 8:Python 3 成为默认,Python 2 已被弃用并最终移除。
    • 脚本应使用 python3 或明确指定解释器。
    • 注意:许多旧脚本若写 #!/usr/bin/python 可能出错。

4. 网络配置工具变更

  • NetworkManager 成为核心
    • 推荐使用 nmclinmtui 进行网络管理。
  • 传统 ifcfg 文件仍在支持,但推荐使用 NetworkManager
  • network.service 在 CentOS 8 中默认可能不启用,需手动启用。

⚠️ 建议:迁移到 nmcli 或使用 ip/ss 命令替代旧的 ifconfig/netstat


5. 防火墙工具

  • firewalld 是默认防火墙(与 CentOS 7 相同)。
  • iptables 服务不再默认启用,但仍可通过 iptables-services 安装。
  • 推荐使用 firewall-cmd 管理规则。

6. 安全与加密增强

  • OpenSSL 更新:从 1.0.2 升级到 1.1.1,支持 TLS 1.3。
  • 更强的默认加密策略(通过 crypto-policies 包管理):
    • 可通过 update-crypto-policies 切换策略(如 LEGACY、FUTURE 等)。
  • SELinux 继续默认启用,但策略有所更新。

7. 容器与云原生支持增强

  • Podman 成为默认容器引擎(替代 Docker):
    • 无守护进程(daemonless)、兼容 Docker CLI。
    • 支持 rootless 容器。
  • BuildahSkopeo 预装,用于构建和管理镜像。
  • 更好的 Kubernetes/CRI-O 集成。

🐳 如果你使用容器技术,建议学习 Podman 替代 Docker。


8. 废弃和移除的功能

  • Python 2:在 CentOS 8.2 中仍存在,但在后续版本中被彻底移除。
  • iptables 服务脚本:不再默认启用。
  • ifconfig/netstat:虽可安装 net-tools,但推荐使用 ipss
  • 专有驱动支持减弱:CentOS Stream 模式影响未来长期支持预期。

9. 生命周期与支持模型变化

  • CentOS 7:支持至 2024 年 6 月 30 日。
  • CentOS 8:原计划支持至 2029 年,但 Red Hat 在 2020 年底宣布 提前终止 CentOS 8(2021 年底停止更新),转向 CentOS Stream(滚动发布)。

    ⚠️ 重要提示:CentOS 8.2 实际已于 2021 年底停止维护!
    建议迁移至 Rocky LinuxAlmaLinuxOracle Linux 等 RHEL 兼容替代品。


10. 硬件支持改进

  • 内核 4.18 提供更好的现代硬件支持(如 NVMe、新 CPU 架构、虚拟化扩展等)。
  • 更好的云平台集成(AWS、Azure、GCP、OpenStack)。

总结:显著变化一览

类别 显著变化
包管理 yumdnf,引入模块化(Modularity)
Python 默认使用 Python 3,Python 2 被淘汰
容器 推荐 Podman,Docker 不再默认支持
网络 NetworkManager 为主,nmcli 成标准
安全 更强的加密策略,默认 TLS 1.3 支持
生命周期 CentOS 8 已停止维护,需考虑替代方案

升级建议

⚠️ 注意:官方不推荐直接从 CentOS 7 升级到 8。Red Hat 提供了 leapp 工具进行升级,但仍风险较高,建议:

  1. 备份所有数据和配置
  2. 在测试环境验证升级流程。
  3. 考虑 全新安装 CentOS 8(或其替代品) 并迁移应用。
  4. 鉴于 CentOS 8 已停更,建议迁移到 Rocky Linux 8AlmaLinux 8

如你需要长期稳定支持,推荐选择 Rocky Linux 或 AlmaLinux,它们是 CentOS 7/8 的精神继承者,提供更可预测的支持周期。

云服务器