加油
努力

从 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)
init 系统 System V init + systemd 共存 完全使用 systemd(System V 被弃用)
文件系统默认 XFS(但 ext4 仍广泛支持) 默认为 XFS,对 Btrfs 支持有限,引入 Stratis(实验性存储管理)

影响:内核升级带来更好的硬件支持、性能优化和安全增强。


2. 软件包管理系统变更

项目 CentOS 7.6 CentOS 8.2
包管理器 yum(基于 rpm 和 Python 2) dnf(Dandified YUM,基于 rpm 和 Python 3)
默认仓库格式 yum metadata (repodata) 使用更高效的 YUM 4 / DNFSolv 求解器
软件包命名 多数软件包以传统方式提供 引入 RPM 模块(modularity)

🔧 模块化(Modularity)

  • 允许在同一系统上安装多个版本的软件(如 Python 3.6、3.8、Node.js 10/12/14)
  • 使用命令如:dnf module install nodejs:14

3. Python 环境变化

  • CentOS 7:默认 Python 2.7,Python 3 需手动安装
  • CentOS 8:默认无 python 命令指向解释器,需显式使用 python3 或通过 alternatives 设置
  • Python 2 已被标记为废弃,不再默认安装

⚠️ 注意:依赖 #!/usr/bin/python 的脚本可能失效,建议改为 #!/usr/bin/python3


4. 网络和防火墙工具

组件 CentOS 7.6 CentOS 8.2
默认防火墙 firewalld(支持 iptables 后端) firewalld + nftables 后端(取代 iptables)
网络配置 network-scripts(ifcfg 文件) 推荐使用 NetworkManager + nmcli/nmtui
ifup/ifdown 可用 不再推荐,逐渐废弃

📡 建议:使用 nmcli 进行网络管理,避免直接编辑 ifcfg 文件。


5. 安全与认证机制增强

  • OpenSSH 更新:支持更现代的加密算法,禁用弱算法(如 SSHv1、MD5)
  • SELinux:继续默认启用,策略更严格
  • 身份管理集成:对 IdM(Identity Management)SSSD 支持更好
  • 引入 FIPS 140-2 支持 更完善

6. 容器与云原生技术支持提升

  • 内置支持 Podman(替代 Docker 的无守护进程容器运行时)
  • 支持 Buildah(构建容器镜像)、Skopeo(镜像复制)
  • 默认不安装 Docker,鼓励使用 Podman
  • 更好地集成 Kubernetes 和 CRI-O

☸️ 适合现代 DevOps 和云环境部署。


7. 生命周期与支持时间

  • CentOS 7:支持至 2024年6月30日
  • CentOS 8:已于 2021年底停止维护(因 CentOS 项目转向 Stream)

⚠️ 重要提示:CentOS 8.2 已于 2021 年 12 月 31 日结束生命周期(EOL),不再接收安全更新
❗ 建议不要在生产环境中使用 CentOS 8,考虑迁移到:

  • AlmaLinux 8 / 9
  • Rocky Linux 8 / 9
  • CentOS Stream 8 / 9

8. 其他重要变化

  • time synchronizationchronyd 成为默认 NTP 客户端(取代 ntpd
  • 文本编辑器vim-minimal 默认安装,完整版需手动安装
  • GUI 支持:GNOME 3.28+,Wayland 成为默认显示服务器(可切换回 Xorg)
  • 编译工具链更新
    • GCC 版本升级(GCC 8+)
    • glibc 更新到 2.28+
    • binutils、make 等工具更现代

总结:核心变化一览

类别 主要变化
内核与系统 升级到 4.18,全面使用 systemd
包管理 yum → dnf,引入模块化
Python Python 2 废弃,Python 3 成为主流
网络 network-scripts 废弃,推荐 NetworkManager
安全 nftables 替代 iptables,FIPS 支持增强
容器 原生支持 Podman、Buildah
生命周期 CentOS 8 已 EOL,建议迁移至替代发行版

升级建议

  1. 不推荐直接在线升级(从 7 到 8),官方未提供稳定工具(Leapp 工具存在风险)
  2. 推荐采用 全新安装 + 数据迁移 的方式
  3. 在升级前充分测试应用兼容性(特别是依赖旧库或 Python 2 的程序)
  4. 考虑跳过 CentOS 8,直接迁移到 Rocky Linux 8/9AlmaLinux 8/9

如你正在规划升级,请优先评估是否应迁移到 CentOS 的继任者发行版,而非停留在已终止支持的 CentOS 8。

云服务器