Rocky Linux替代CentOS迁移方案
迁移前必须做好的四件事
在执行Rocky Linux替代CentOS迁移方案之前,请先确认你的服务器的硬件配置最低1核1G、磁盘剩余2GB以上,同时将当前CentOS所有软件包更新到最新版本。
运行sudo dnf update完成后,务必备份重要数据,包括数据库、网站文件、nginx/Apache配置等。
推荐用tar打包到/home或/mnt分区,避免迁移过程中意外丢失。
另外,如果你是使用宝塔面板的用户,建议先记录面板的数据库地址和端口,迁移后可能需要重新配置源。
一键迁移工具配合手动修正
行业内最常用的迁移脚本是migrate2rocky,它能自动替换yum源、升级内核并保留绝大多数现有应用。
步骤如下:
- 直接下载官方脚本:
wget https://raw.githubusercontent.com/rocky-linux/rocky-tools/main/migrate2rocky/migrate2rocky.sh
- 赋予执行权限:
chmod +x migrate2rocky.sh - 执行迁移(根据系统架构选择):
sudo bash migrate2rocky.sh -r 9 -x
-r 9表示目标版本(Rocky 9),-x跳过已知可能冲突的包。
整个过程大约5-15分钟,中间会提示你确认几次,按y继续即可。
迁移完成后重启服务器:sudo reboot。
如果因网络问题导致脚本执行失败,可以手动替换源:先备份/etc/yum.repos.d/下的文件,然后将CentOS源全部改为Rocky Linux官方源。
源地址示例:
curl -o /etc/yum.repos.d/Rocky.repo https://download.rockylinux.org/pub/rocky/9/BaseOS/x86_64/os/Rocky.repo
后续手动执行dnf update即可完成替换。
常见报错与避坑指南
问题1:迁移脚本报错“No space left on device” – 迁移过程需要临时交换分区,建议提前扩大swap或清理/var/cache/dnf。
用dnf clean all释放缓存,再重试脚本。
问题2:重启后无法进入系统 – 大概率是SELinux上下文或内核冲突。
在GRUB界面按e,在linux行末尾加入enforcing=0,临时关闭SELinux进入系统后重新执行fixfiles onboot恢复上下文,再重启即可。
问题3:
宝塔面板迁移后打不开 – 因为宝塔依赖的CentOS源被替换,
需要手动指定Rocky兼容源,
或者重新执行wget -O install.sh http:修复面板环境。
//download.bt.cn/install/install_lts.sh && bash install.sh
避坑重点:迁移过程中不要中断SSH连接,不要在迁移同时运行大量业务进程;
迁移后务必检查网卡配置(/etc/sysconfig/network-scripts/)是否被改写,如有异常需重新配置静态IP。
迁移后的效果验证三步走
第一步检查系统版本:cat /etc/rocky-release,应该输出Rocky Linux 9.x。
第二步验证原服务是否正常:例如Nginx运行systemctl status nginx、MySQL运行systemctl status mysqld,看是否active状态。
第三步用dnf repolist确认所有仓库已经切换到Rocky官方源,且无错误。
建议再用reboot做一次完全重启,确保自动启动服务全部拉起。
完成以上步骤,你的Rocky Linux替代CentOS迁移方案就已经落地了。
后续运维习惯与CentOS基本一致,yum命令改为同义的dnf,其他管理照常。
如果遇到SELinux告警或内核参数异常,优先回看避坑部分。