再见,经典的 CentOS 7:一份迟来的技术回顾与迁移指南

📅 2026/7/21 3:53:52
再见,经典的 CentOS 7:一份迟来的技术回顾与迁移指南
今天是 2026 年 7 月 20 日。尽管 CentOS 7 已于2024 年 6 月 30 日正式停止维护EOL但在无数的内网环境、老旧笔记本、工控机以及虚拟化平台里它依然在默默运行。写这篇文章既是对这个经典系统的一次深情回望也是为那些依然需要维护 CentOS 7 环境或者正计划迁移的朋友提供一份实用的技术备忘录。一、为什么 CentOS 7 是“一代经典”在 Linux 服务器操作系统的历史长河中CentOS 7 绝对是一个里程碑式的存在。它的生命周期从 2014 年持续到 2024 年整整十年。它的经典之处在于极致的稳定性基于 RHEL 7内核 3.10Systemd 的引入虽然当时争议巨大但确实统一了服务管理方式。广泛的生态兼容性几乎所有商业软件、数据库Oracle、MySQL、中间件最初都是针对 CentOS 7 进行适配的。那个“EL7”的标签意味着完美的二进制兼容性。庞大的社区支持遇到任何报错都能搜到解决方案。现状警示既然已经停服它不再接收安全更新。如果你的服务器还暴露在公网或者需要满足等保合规要求原地续命不如尽快迁移。二、给“考古”服务器的急救包如果你手头还有不得不跑的 CentOS 7 机器而且暂时不能重装以下是几个关键维护策略1. 切换 YUM 源到 Vault归档库官方已经把镜像移出了主镜像站放入了vault.centos.org。你的 yum 命令报错大概率是因为源失效了。bash# 备份原文件 mkdir /etc/yum.repos.d/bak mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak/ # 创建新的 Vault 源 cat /etc/yum.repos.d/CentOS-Base.repo EOF [base] nameCentOS-7 - Base baseurlhttp://vault.centos.org/centos/7/os/$basearch/ gpgcheck1 gpgkeyhttp://vault.centos.org/centos/7/os/x86_64/RPM-GPG-KEY-CentOS-7 [updates] nameCentOS-7 - Updates baseurlhttp://vault.centos.org/centos/7/updates/$basearch/ gpgcheck1 gpgkeyhttp://vault.centos.org/centos/7/os/x86_64/RPM-GPG-KEY-CentOS-7 EOF yum clean all yum makecache2. 安装 ELRepo 升级内核可选原生 3.10 内核太老了很多容器特性如 OverlayFS 完整支持不太好用通过 ELRepo 可以升到较新的长期支持内核。bashrpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh http://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm yum --enablerepoelrepo-kernel install kernel-lt # 重启后选择新内核三、CentOS 7 的继承者们谁最值得选CentOS 8 同样提前停服CentOS Stream 成了 RHEL 的上游滚动版。现在的格局是系统特点适合场景CentOS Stream 10RHEL 的上游滚动更新内核很新。想在红帽生态里体验新特性能接受一定变化。Rocky Linux 9.xCentOS 的灵魂继承者RHEL 下游重建版100% 兼容。生产环境首选想从 CentOS 7 平滑过渡的。AlmaLinux 9.x同样是 RHEL 复刻版社区活跃甚至提供商业支持。和 Rocky 类似看团队偏好。Ubuntu 24.04 LTSDebian 系生态完全不同文档多AI/机器学习支持好。如果想脱离 RPM 系拥抱 apt 生态。对于大多数传统企业应用目前最稳妥的迁移路径是CentOS 7 → Rocky Linux 9 / AlmaLinux 9。四、硬核实战从 CentOS 7 原地迁移到 Rocky Linux 9⚠️重要警告不要直接从 CentOS 7 跨大版本“硬升”到 9大概率系统会挂。官方推荐且最稳的方案是备份数据 → 全新安装 Rocky Linux 9 → 恢复应用。不过为了应对“不能重装”的极端场景社区提供了一个神奇的工具ELevate它支持从 CentOS 7 → Rocky Linux 8 → Rocky Linux 9 的渐进式迁移。操作简化流程全量备份全量备份没有备份不要进行任何操作升级前检查在 CentOS 7 上执行bash# 更新到最新状态 yum update -y # 安装 elevate-release 包 yum install -y http://repo.almalinux.org/elevate/elevate-release-latest-el7.noarch.rpm # 安装 leapp 和迁移数据包 yum install -y leapp-upgrade leapp-data-rocky运行预检查bashleapp preupgrade这一步会生成/var/log/leapp/leapp-report.txt仔细查看哪些配置会被修改有哪些 Inhibitor阻止因素比如非标内核、缺依赖等一一解决后再继续。执行第一段迁移CentOS 7 → Rocky 8bashleapp upgrade # 重启 reboot系统重启后会进入一个特殊引导项自动完成向 Rocky Linux 8 的转换。从 Rocky 8 再升到 9在成功启动的 Rocky 8 系统上重复类似步骤用 Rock 8 的 elevate 包再执行一次leapp upgrade。坦诚地说这个过程对新手而言风险不低极其依赖稳定的网络和足够的磁盘空间根分区至少留 4-5G 空闲。重装系统恢复数据永远是更干净的方式。五、迁移后的技术差异速查假设你已经来到了 Rocky Linux 9以下是从 7 过来最明显的变化软件包管理yum命令已被dnf完全取代虽然敲yum也会自动转给dnf。网卡命名如果是从 7 的旧硬件虚拟化过来网卡名可能从eth0变成了ens192这类不要惊慌。Python系统级 Python 是 3.9python3没有默认的python命令。别再写死#!/usr/bin/python了。容器技术docker包没了建议直接用podman命令和 docker 几乎一样或者通过 Docker 官方源安装。防火墙依然是firewalld不过 nftables 成了后端如果有些复杂规则可能有细微兼容差别。安全SELinux 默认还是 Enforcing。如果以前在 CentOS 7 上习惯性setenforce 0建议趁这次迁移花时间把应用适配好别再关了。结语CentOS 7 是一段传奇它承载了无数运维人的青春。让它安稳退休的最好方式不是顶着漏洞继续跑下去而是有计划地将业务迁移到一个充满活力的新平台。如果你的 CentOS 7 服务器还有什么特殊的故事或者你在迁移中遇到了棘手的问题欢迎在评论区留言分享。