You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用自定义仓库通过Leapp将RHEL 7.9升级至8.4失败求助

解决RHEL 7.9通过Leapp升级至8.4时preupgrade失败的问题

环境前提

  • 已完成RHEL 7.3 → 7.9的自定义仓库升级,全程未使用subscription-manager或Red Hat Satellite
  • 执行leapp preupgrade时触发故障,目标版本为RHEL 8.4

分步排查与修复

1. 验证自定义仓库配置

Leapp依赖正确的7.9和8.4仓库源,先做基础检查:

  • 列出当前启用的仓库:yum repolist enabled,确保只有RHEL 7.9基础仓库和用于升级的8.4自定义仓库处于启用状态
  • 检查8.4仓库文件(/etc/yum.repos.d/下)的baseurl是否可达,enabled=1是否设置正确,若不需要gpg验证可设gpgcheck=0
  • 测试仓库可用性:yum --disablerepo="*" --enablerepo="<your-8.4-repo-name>" list available,确认能正常拉取包信息

2. 检查Leapp工具状态

  • 确认Leapp套件已安装:rpm -qa | grep leapp,如果缺失,直接从7.9自定义仓库安装:yum install leapp leapp-repository
  • 执行leapp gather收集环境数据,然后查看/var/log/leapp/leapp-report.txt,排查是否有依赖包缺失或环境配置问题
  • 查看/var/log/leapp/leapp-preupgrade.log中关于仓库的日志,若出现“no valid repositories found”,说明Leapp未识别到自定义8.4仓库,需调整仓库配置

3. 处理Leapp预升级阻断项

Leapp的preupgrade会生成阻断升级的ERROR级条目,必须逐一修复:

  • 打开/var/log/leapp/leapp-report.txt,定位所有ERROR类型的内容:
    • 若提示“Missing required packages”,直接从7.9仓库安装对应包:yum install <缺失包名>
    • 若提示“Obsolete packages installed”,卸载这些废弃包:yum remove <废弃包名>
    • 若提示内核版本不兼容,先升级到7.9最新内核:yum update kernel,重启服务器后再执行preupgrade

4. 跳过RHSM相关检查

因为未使用官方订阅,需要让Leapp跳过订阅验证:

  • 编辑/etc/leapp/answerfile,添加或修改以下配置:
    [check_rhsm]
    answer=False
    
  • 执行preupgrade时加上--no-rhsm参数:leapp preupgrade --no-rhsm

5. 临时调整SELinux模式

SELinux可能会干扰Leapp的文件操作,临时切换到permissive模式:

  • 实时生效:setenforce 0
  • 修改配置文件确保重启后生效:sed -i 's/SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config(升级完成后可改回enforcing)

重新执行预升级

清理之前的Leapp缓存,然后重新运行预升级:

leapp clean
leapp preupgrade --no-rhsm

查看新生成的leapp-report.txt,确认没有ERROR级别的阻断项后,就可以执行leapp upgrade正式升级了

内容的提问来源于stack exchange,提问作者Hemchand

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 16:51:17