尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

CentOS 8 EOL迁移专题:almalinux-deploy用-f参数自动修复Vault仓库问题

CentOS 8 EOL迁移专题:almalinux-deploy用-f参数自动修复Vault仓库问题 CentOS 8 EOL迁移专题almalinux-deploy用-f参数自动修复Vault仓库问题【免费下载链接】almalinux-deployEL to AlmaLinux migration tool.项目地址: https://gitcode.com/gh_mirrors/al/almalinux-deployalmalinux-deploy是一款免费的 EL 系CentOS、Oracle Linux、Rocky、RHEL 等到 AlmaLinux 的一键迁移工具。CentOS 8 已 EOL停止维护官方 mirrorlist 下线后连dnf update都会失败——而给迁移脚本加上-f参数就会自动把仓库配置改写到 centos-vault 归档地址先完成系统升级再自动执行整套迁移一条命令搞定 CentOS 8 到 AlmaLinux 的切换。⚠️ 迁移前先给系统做备份虚拟机快照或全盘备份并在稳定的控制台IPMI/iDRAC/VNC或screen/tmux中执行防止 SSH 断连中断流程。一、CentOS 8 EOL 后为什么 dnf update 会失败CentOS 8 于 2021 年底正式 EOL官方 mirrorlist 服务自 2022-01-31 起下线。这带来一个连锁问题/etc/yum.repos.d/下各.repo文件里的mirrorlist行仍指向mirrorlist.centos.org该域名已不再提供任何包于是dnf update -y直接报Cannot find a valid baseurl for repo错误系统无法先升级到最新状态后续迁移也就无从谈起根源很简单包已经被归档到centos-vault仓库但系统的仓库配置还指着旧的活镜像地址。二、-f 参数自动做了哪些事almalinux-deploy 内置的-f--full参数正是为这种 EOL 场景设计的。加上它之后脚本会在正式迁移前自动完成三步对应主脚本almalinux-deploy.sh中的dnf_upgrade()与fix_repo_file()函数批量改写仓库文件覆盖 BaseOS、AppStream、ContinuousRelease、Devel、Extras、FastTrack、HighAvailability、Pluscentosplus、PowerTools 等仓库注释掉失效的mirrorlist和旧baseurl并追加 CentOS 8 最后一个发布版本8.5.2111的 Vault 地址baseurlhttps://mirror.rackspace.com/centos-vault/8.5.2111/仓库名/$basearch/os执行dnf upgrade -y把系统所有包升级到 Vault 归档中的最终版本执行dnf clean dbcache清理缓存避免后续导入 AlmaLinux GPG 密钥时出现校验问题 两个值得注意的细节脚本自动兼容两种仓库文件名新版系统的CentOS-Linux-XXX.repo和旧版系统的CentOS-XXX.repo无需手动区分如果检测到的系统是CentOS Stream会自动跳过 Vault 改写步骤Stream 仓库仍在线不需要修复三、迁移步骤一条 -f 命令完成 CentOS 8 → AlmaLinux3.1 迁移前准备清单确认系统版本≥ CentOS 8.4这是脚本定义的最小支持版本备份系统快照/磁盘镜像预装依赖sudo dnf install -y dnf-plugins-core通过稳定控制台或screen/tmux会话执行迁移3.2 获取迁移脚本克隆仓库获取脚本git clone https://gitcode.com/gh_mirrors/al/almalinux-deploy也可直接将仓库根目录的almalinux-deploy.sh拷贝到目标服务器。3.3 一键执行修复 Vault 仓库 完成迁移sudo bash almalinux-deploy.sh -f输出中会先看到Fix DNF repositories to live mirror and run dnf upgrade -y ... OK字样说明 Vault 仓库修复和升级已成功随后脚本自动继续移除 CentOS 的 release 包、GPG 密钥和centos-logos等品牌包安装almalinux-release切换为 AlmaLinux 仓库配置执行dnf distro-sync -y将全系统包同步为 AlmaLinux 版本EL8 会自动启用powertools仓库安装 AlmaLinux 内核、更新 GRUB 配置、创建 EFI 启动项屏幕显示绿色的Migration to AlmaLinux is completed3.4 重启并验证迁移结果sudo reboot重启后验证cat /etc/almalinux-release # 应显示 AlmaLinux release 8.x (...) sudo grubby --info DEFAULT | grep AlmaLinux # 确认默认内核已是 AlmaLinux 内核✅ 两条命令输出正常迁移即告完成。四、断点续传与日志排查中断可续传每个阶段完成后脚本会在/var/run/almalinux-deploy-statuses/写入状态标记文件。迁移中断后重新运行脚本会自动跳过已完成步骤若显示 Migration to AlmaLinux was already completed说明系统已迁移完毕完整日志主日志在/var/log/almalinux-deploy.log详细调试日志在/var/log/almalinux-deploy.debug.log历史日志自动按时间戳归档重命名五、almalinux-deploy 常用参数速查表参数作用典型场景-f, --full自动修复 CentOS 8 Vault 仓库并执行 dnf upgradeCentOS 8 EOL 系统迁移本文主角-d, --downgrade允许从 CentOS Stream 降级迁移到 AlmaLinuxStream 8/9/10 用户-lURL/path使用指定的本地 AlmaLinux 镜像源无外网的离线内网环境-epkg1*,pkg2*在 dnf distro-sync 时排除指定包保留特定软件版本-v, --version打印脚本版本当前 0.1.13确认脚本新旧 离线环境建议用-l指向自建镜像而-f修复的 Vault 地址仍需可访问两者按需选择。六、常见问题 FAQQ1我的 CentOS 8.4 系统能迁移吗可以。8.4 是脚本定义的最小支持版本推荐先用-f升到 Vault 中的最终版本8.5再迁移。Q2系统还能上网是不是就不需要 -f 了需要。EOL 后失效的是 mirrorlist 服务本身与带宽无关dnf update一律失败。-f就是官方推荐出路若坚持手动改仓库可参考 README 中的 Option 2: Manual Repository Fix 一节逐仓库执行 sed 命令。Q3CentOS Stream 可以用 -f 吗可以携带该参数但脚本检测到 CentOS Stream 时会自动跳过 Vault 仓库改写Stream 仓库仍在线。Stream 系统真正需要的是-d参数来允许降级迁移。Q4EOL 后连 dnf-plugins-core 都装不上怎么办先手动把 BaseOS / AppStream 两个仓库的baseurl改为 centos-vault 地址README 中有现成 sed 命令dnf install dnf-plugins-core成功后再运行sudo bash almalinux-deploy.sh -f完成剩余流程。七、项目结构相关文件一览almalinux-deploy.sh核心迁移脚本包含-f参数的全部逻辑仓库修复、包替换、distro-sync、内核与 GRUB 处理test_almalinux-deploy.bats基于 Bats 的单元测试覆盖脚本各功能函数molecule/Molecule 容器集成测试场景包含default、centos8-gui、oraclelinux-8、oraclelinux-8-uek等Vagrantfile、Jenkinsfile本地虚拟机测试与 CI 流水线配置README.md完整使用说明与 CentOS 8 迁移注意事项对于还在运行 CentOS 8 的服务器almalinux-deploy.sh -f是目前最省心的迁移路径——不用再为 Vault 仓库地址翻文档、敲长串 sed 命令一条命令自动完成从修好仓库到完成迁移的全过程。【免费下载链接】almalinux-deployEL to AlmaLinux migration tool.项目地址: https://gitcode.com/gh_mirrors/al/almalinux-deploy创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表