Rocky Linux替代CentOS迁移教程:从准备到验证
迁移前的准备:备份与环境检查
动手迁移前,先把当前CentOS系统的数据和配置完整备份,以防万一。
使用tar打包关键目录(如/etc、/home、/var/www等),或直接用磁盘快照(云服务器一般都有快照功能)。
检查当前CentOS版本(执行cat /etc/redhat-release),确保已联网且能访问外网。
如果之前装了第三方软件源(如EPEL、Remi),建议先卸载,避免迁移时包依赖冲突。
最后用yum clean all清理缓存,用rpm --rebuilddb重建RPM数据库。
两种迁移方式:自动脚本与手动替换
Rocky Linux官方提供了自动迁移脚本migrate2rocky.sh,推荐新手使用。
首先从GitHub下载脚本:
wget https://raw.githubusercontent.com/rocky-linux/rocky-tools/main/migrate2rocky/migrate2rocky.sh
chmod +x migrate2rocky.sh
运行前确认脚本兼容你的CentOS版本(目前支持CentOS 7和8)。
执行迁移:
sudo bash migrate2rocky.sh -r
-r参数表示迁移完成后自动重启。
如果不想立即重启,去掉-r,后续手动重启。
脚本执行过程中会替换所有CentOS仓库为Rocky Linux仓库,然后升级所有包。
整个过程耗时10-30分钟,视网络和包数量而定。
如果不想用脚本,也可以手动替换仓库文件。
先备份现有repo:
cp -r /etc/yum.repos.d /etc/yum.repos.d.bak
然后删除或注释所有CentOS相关repo,新建Rocky Linux的repo文件。
对于Rocky Linux 8(对应CentOS 8),使用以下命令:
cat > /etc/yum.repos.d/rocky.repo << 'EOF'
[rocky-base]
name=Rocky Linux $releasever - Base
baseurl=https://dl.rockylinux.org/pub/rocky/$releasever/BaseOS/$basearch/os/
gpgcheck=1
gpgkey=https://dl.rockylinux.org/pub/rocky/RPM-GPG-KEY-Rocky
enabled=1
[rocky-appstream]
name=Rocky Linux $releasever - AppStream
baseurl=https://dl.rockylinux.org/pub/rocky/$releasever/AppStream/$basearch/os/
gpgcheck=1
gpgkey=https://dl.rockylinux.org/pub/rocky/RPM-GPG-KEY-Rocky
enabled=1
EOF
手动方式完成后,执行yum distro-sync进行同步升级,最后重启。
避坑指南:迁移中常见问题
迁移过程中可能遇到以下状况。仓库文件冲突:
如果之前有第三方源(如webtatic、
ius),
建议提前禁用或移除,
否则distro-sync时会报依赖不一致。内核问题:
CentOS 7迁移后内核可能不自动更新,
需要手动yum update kernel。防火墙规则丢失:
迁移不会修改iptables或firewalld规则,
但建议迁移后检查规则是否生效:firewall-cmd --list-all。服务启动失败:
某些自编译软件依赖CentOS特定库,
迁移后库路径变化会导致服务无法启动,
建议提前测试或使用容器化部署。Python版本兼容性:
CentOS 7自带Python 2.7,
Rocky Linux 8默认Python 3.6,
部分旧脚本可能报错,
需修改shebang或安装python27兼容包。
迁移后验证:确保系统正常运行
重启后登录系统,执行以下检查:
- 查看发行版信息:
cat /etc/rocky-release或hostnamectl,应显示Rocky Linux。 - 验证仓库源:
yum repolist,应只显示rocky相关仓库。 - 检查已安装软件包数量:
rpm -qa | wc -l,迁移前后应一致或只多了一些升级包。 - 启动所有关键服务:如Nginx、MySQL、PHP等,用
systemctl status逐一确认状态。 - 测试网络连通性:
ping -c 3 baidu.com,确保DNS和网络正常。 - 查看内核版本:
uname -r,确认已更新到Rocky Linux的内核。
高频问题解答
问:迁移后还能回滚到CentOS吗?
答:如果迁移前做了完整备份,可以直接恢复快照或还原系统盘。手动迁移无法简单回退,建议先在测试环境演练。
问:迁移过程中断网或意外关机怎么办?
答:如果迁移脚本在替换仓库阶段中断,重启后可能无法使用yum。此时可以进入单用户模式,恢复备份的repo文件(位于/root或备份目录),然后手动执行yum distro-sync --skip-broken逐步修复。
问:CentOS 7能直接迁移到Rocky Linux 9吗?
答:不建议跨大版本迁移,因为Rocky Linux 9基于RHEL 9,与CentOS 7的库差异很大。迁移脚本只支持同大版本迁移(7→7, 8→8)。如需升级版本,建议先迁移到同版本,再考虑大版本升级。
如果你正在处理Rocky Linux替代CentOS迁移教程,建议先按上述步骤完整执行,再根据自己的环境微调;
遇到异常时优先回看避坑和高频问题部分。
迁移完成后,建议继续学习Rocky Linux的日常维护命令和软件源配置,以便更好地管理新系统。