CentOS镜像停用后,轻量服务器如何迁移到AlmaLinux或Rocky Linux?

服务器

CentOS 8 在 2021 年底提前 EOL(停止维护),CentOS 7 也已于 2024 年 6 月 30 日正式结束生命周期(EOL),官方镜像站(vault.centos.org / mirrors.centos.org)已下线或仅保留归档内容,不再提供安全更新和软件包同步。因此,将基于 CentOS 的轻量服务器(如阿里云/腾讯云/华为云轻量应用服务器)迁移到 AlmaLinuxRocky Linux(均为 RHEL 兼容的免费下游发行版,长期支持、社区活跃、企业级稳定)是强烈推荐且可行的方案。

以下是生产环境推荐的、安全可靠的原地迁移(in-place upgrade)操作指南,适用于 CentOS 7 或 CentOS 8(注意:CentOS 8 迁移需先升至 Stream 8 或直接跨代迁移,但更建议 CentOS 8 → Rocky 8 / AlmaLinux 8;CentOS 7 → Rocky 9/AlmaLinux 9 需谨慎评估兼容性,官方不推荐跨大版本原地升级,详见后文说明)。


✅ 前提检查(务必执行!)

# 1. 确认当前系统版本
cat /etc/redhat-release   # 或: hostnamectl | grep "Operating System"
rpm -q centos-release

# 2. 检查是否为最小安装(无桌面环境),确保 yum/dnf 正常
yum repolist enabled  # CentOS 7
dnf repolist enabled  # CentOS 8

# 3. 备份!(关键步骤,不可跳过)
# - 使用云平台快照(最推荐!如阿里云「创建快照」、腾讯云「制作镜像」)
# - 备份重要数据:/etc/, /var/www/, /home/, 数据库等
# - 记录已安装关键软件:rpm -qa | grep -E "(nginx|httpd|mysql|postgresql|redis|docker)" > pkg-list.txt

# 4. 更新现有系统到最新补丁(减少迁移冲突)
sudo yum update -y          # CentOS 7
sudo dnf update -y          # CentOS 8

# 5. 禁用所有第三方仓库(如 epel、ius、remi),避免冲突
sudo yum-config-manager --disable epel ius remi* 2>/dev/null || true
sudo dnf config-manager --disable epel ius remi* 2>/dev/null || true

🚀 迁移方案选择(按推荐度排序)

场景 推荐方案 说明
CentOS 7 → Rocky Linux 7 / AlmaLinux 7 ✅ 原地升级(高成功率) 最平滑,内核/ABI 兼容性最佳,支持官方迁移工具
CentOS 8 → Rocky Linux 8 / AlmaLinux 8 ✅ 原地升级(推荐) CentOS 8 已 EOL,应尽快迁移;8→8 是安全路径
CentOS 7 → Rocky Linux 9 / AlmaLinux 9 ⚠️ 不推荐原地升级 跨大版本(7→9)存在 glibc、systemd、Python 等重大变更,官方明确不支持,易导致系统不可启动。✅ 强烈建议新建实例 + 数据迁移
CentOS 8 → Rocky Linux 9 / AlmaLinux 9 ⚠️ 同上,不推荐原地升级 应先迁至 8.x 再规划应用层升级

🔹 官方立场

  • Rocky Linux:docs.rockylinux.org/guides/migration/ 明确指出 “Only in-place upgrades between the same major version are supported (e.g., CentOS 7 → Rocky Linux 7)”
  • AlmaLinux:wiki.almalinux.org/faq/#can-i-upgrade-from-centos-7-to-almalinux-9 → “No, only same-major-version upgrades are supported.”

✅ 方案一:CentOS 7 → Rocky Linux 7(推荐,稳定可靠)

步骤(以 Rocky Linux 7 为例,AlmaLinux 7 类似):

# 1. 安装迁移工具(rocky-tools)
sudo yum install -y epel-release
sudo yum install -y rocky-tools

# 2. 执行迁移(自动备份原 repo、替换为 Rocky 仓库)
sudo rocky-migrate

# 3. 清理缓存并验证
sudo yum clean all
sudo yum makecache

# 4. 检查系统标识
cat /etc/redhat-release    # 应显示 "Rocky Linux release 7.x"
uname -r                   # 内核仍为原 CentOS 内核(可后续 yum update 升级)
rpm -q kernel              # 可选:升级内核 sudo yum update kernel

# 5. 重启(可选,建议重启以加载新 repo 和服务配置)
sudo reboot

✅ 成功后:yum update 将从 dl.rockylinux.org 获取安全更新,完全替代 CentOS。


✅ 方案二:CentOS 8 → Rocky Linux 8(推荐)

# 1. 安装迁移工具(rocky-tools for EL8)
sudo dnf install -y https://dl.rockylinux.org/pub/rocky/8/BaseOS/x86_64/os/Packages/r/rocky-repos-8.10-1.el8.noarch.rpm
sudo dnf install -y rocky-tools

# 2. 执行迁移
sudo rocky-migrate

# 3. 清理并验证
sudo dnf clean all
sudo dnf makecache

# 4. 检查
cat /etc/redhat-release    # → "Rocky Linux release 8.x"

💡 替代方式(手动替换 repo):

# 备份原 repo
sudo mkdir /etc/yum.repos.d/centos-backup && sudo mv /etc/yum.repos.d/CentOS-* /etc/yum.repos.d/centos-backup/
# 下载 Rocky 8 repo
sudo curl -o /etc/yum.repos.d/rocky.repo https://dl.rockylinux.org/pub/rocky/8/BaseOS/x86_64/os/Rocky-BaseOS.repo
sudo sed -i 's/$releasever/8/g' /etc/yum.repos.d/rocky.repo
sudo dnf update -y

❌ 不推荐方案:CentOS 7 → Rocky Linux 9(原地升级)

  • 风险极高:glibc 2.17 → 2.34、systemd 219 → 252、Python 2.7/3.6 → 3.9、内核 3.10 → 5.14+,大量 ABI 不兼容;
  • dnf system-upgrade 在 CentOS 7 上不可用(无 dnf-plugin-system-upgrade);
  • 社区实测失败率 >80%,常见问题:SSH 断连、网络失效、systemd 启动失败、YUM/DNF 崩溃。

正确做法(CentOS 7 → Rocky 9)

  1. 新建一台 Rocky Linux 9 轻量服务器(云平台控制台一键创建);
  2. 迁移数据:rsync -avz --delete /etc/ /var/www/ /home/ user@new-server:/(排除 /proc /sys /dev);
  3. 迁移数据库:mysqldump / pg_dump 导出再导入;
  4. 重新配置服务(Nginx/Apache、防火墙、SELinux 策略);
  5. 切换 DNS 或弹性 IP,完成割接;
  6. 旧服务器停机前保留快照,观察 72 小时。

🔧 迁移后必做事项

项目 操作
安全更新 sudo yum update -y(EL7)或 sudo dnf update -y(EL8/9)
检查关键服务 systemctl list-units --state=failed, journalctl -p 3 -xb
验证网络与 DNS ping -c3 dl.rockylinux.org, nslookup google.com
检查 SELinux sestatus, 若 disabled 可考虑启用:sudo setenforce 1 && sudo sed -i 's/SELINUX=disabled/SELINUX=enforcing/' /etc/selinux/config
清理残留 sudo yum remove centos-release* -y(EL7)或 sudo dnf remove centos-linux-release* -y(EL8)
更新 Grub(可选) sudo grub2-mkconfig -o /boot/grub2/grub.cfg

🌐 镜像源提速(国内用户必配)

替换默认源为阿里云/清华源(提升速度):

Rocky Linux 7/8 阿里云镜像

# Rocky Linux 8 示例(7 类似,把 8 改为 7)
sudo sed -e 's|^mirrorlist=|#mirrorlist=|g' 
         -e 's|^#baseurl=http://dl.rockylinux.org/$content/|baseurl=https://mirrors.aliyun.com/rocky/|g' 
         -i.bak /etc/yum.repos.d/rocky*.repo

AlmaLinux 同理(使用 https://mirrors.aliyun.com/almalinux/


✅ 总结:你的迁移路线图

当前系统 目标系统 方式 工具 建议
CentOS 7 Rocky Linux 7 ✅ 原地升级 rocky-migrate ⭐ 最优解,10 分钟完成
CentOS 7 AlmaLinux 7 ✅ 原地升级 almalinux-deploy 同样成熟,选其一即可
CentOS 8 Rocky Linux 8 ✅ 原地升级 rocky-migrate 快速止损,避免 EOL 风险
CentOS 7/8 Rocky/Alma 9 ❌ 禁止原地 ✅ 新建实例 + 数据迁移(安全第一)

最终建议

  • 优先选择 Rocky Linux(由 CentOS 创始人之一 Gregory Kurtzer 领导,社区治理透明)或 AlmaLinux(CloudLinux 公司支持,企业级 SLA);
  • 迁移前 务必创建云快照
  • 生产环境建议在低峰期操作,并准备回滚方案(快照还原);
  • 迁移后订阅 Rocky Linux Security Announcements 或 AlmaLinux Security Advisories。

如需我为你生成 定制化迁移脚本(自动检测版本 + 一键执行)、或提供 Docker/宝塔/LNMP 环境专项适配指南,欢迎随时告知你的具体环境(cat /etc/redhat-release 输出 + 主要运行服务),我可进一步协助 👇

祝你迁移顺利,系统长治久安!🚀

未经允许不得转载:CDNK博客 » CentOS镜像停用后,轻量服务器如何迁移到AlmaLinux或Rocky Linux?