使用migrate2rocky.sh迁移CentOS Stream 8到Rocky Linux 8时遇获取CentOS-Base.repo提供包错误
看起来你在使用migrate2rocky脚本从CentOS Stream 8迁移到Rocky Linux 8时踩了个坑——脚本找不到CentOS-Base.repo对应的系统包,导致迁移中断。我来帮你拆解下问题原因和可行的解决办法:
问题根源
CentOS Stream 8的仓库结构和传统CentOS 8不一样,CentOS-Base.repo这个文件早就被替换成了Stream专属的repo配置(比如CentOS-Stream-BaseOS.repo),而migrate2rocky脚本可能还在按照传统CentOS 8的逻辑查找这个旧文件,自然会出现“No Matches found”的错误。
解决步骤
先排查当前系统的repo文件状态
执行命令看看你系统里现在有哪些repo文件:ls -l /etc/yum.repos.d/你应该能看到一堆带
CentOS-Stream-前缀的repo文件,确认这一点后再往下走。清理无效的旧repo残留
如果系统里还留着空的或者失效的CentOS-Base.repo文件,直接删掉它:rm -f /etc/yum.repos.d/CentOS-Base.repo刷新仓库缓存
确保系统的仓库信息是最新的,避免缓存导致的匹配问题:dnf clean all && dnf makecache带调试模式重新运行迁移脚本
加上-v参数开启 verbose 模式,能看到更详细的日志,方便定位后续问题:./migrate2rocky.sh -r -v如果还是不行,手动替换仓库后再迁移
要是脚本还是揪着旧repo文件不放,咱们手动把CentOS Stream的仓库换成Rocky Linux的官方仓库:- 先备份当前的repo目录,以防万一:
cp -r /etc/yum.repos.d/ /etc/yum.repos.d.bak/ - 安装Rocky Linux的官方repo包:
dnf install -y rocky-repos - 再次运行迁移脚本:
./migrate2rocky.sh -r
- 先备份当前的repo目录,以防万一:
额外提醒
迁移前一定要备份好服务器上的重要数据!另外你日志里提到了pgadmin的GPG密钥,建议暂时禁用这类第三方仓库,等迁移完成后再重新启用,避免第三方包干扰迁移流程。
备注:内容来源于stack exchange,提问作者Luis Alfredo Serrano Díaz

