You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

离线RHEL 8.5环境配置本地YUM源后执行yum update出现repomd.xml解析错误

离线RHEL 8.5环境配置本地YUM源后执行yum update出现repomd.xml解析错误

嘿,我懂你现在的困扰——在完全和互联网、局域网隔离的RHEL 8.5环境里,用官方ISO搭了本地YUM源,AppStream源能正常用还装了些包,但一跑yum update就碰到repomd.xml相关的错误,这确实挺闹心的。

先复盘下你的配置情况:你把官方RHEL 8.5 ISO挂载到了/mnt/cdrom/,然后在/etc/yum.repos.d/下创建了redhat.repo文件,内容如下:

[InstallMedia-AppStream]
name=Red Hat Enterprise Linux 8 - AppStream
metadata_expire=-1
gpgcheck=1
enabled=1
baseurl=file:///mnt/cdrom/AppStream/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[InstallMedia-BaseOs]
name=Red Hat Enterprise Linux 8 - BaseOs
metadata_expire=-1
gpgcheck=0
cost=500
enabled=1
baseurl=file:///mnt/cdrom/BaseOS/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

针对你遇到的问题,我给你几个排查和解决的方向:

  • 检查BaseOS源的GPG校验配置:你的BaseOS源里gpgcheck设为0,但又指定了gpgkey路径,这虽然未必是直接触发错误的原因,但容易导致配置不一致。建议把gpgcheck改成1,和AppStream源保持一致,毕竟官方源推荐校验签名,也能避免潜在的包完整性问题。
  • 确认ISO挂载状态和路径权限:先执行mount | grep /mnt/cdrom看看ISO是不是还正常挂载着,有时候系统重启或者意外操作会导致挂载失效。另外检查/mnt/cdrom/BaseOS/repodata/目录下有没有repomd.xml文件,以及该文件的读取权限是否对当前用户开放。
  • 清理并重建YUM缓存:离线环境里可能残留了之前在线源的缓存数据,干扰本地源的解析。先跑yum clean all清空所有缓存,再执行yum makecache重新生成本地源的缓存,之后再尝试yum update
  • 核对repo文件的路径拼写:仔细检查baseurl的路径,确保file:///mnt/cdrom/BaseOS/是正确的——注意目录名是BaseOS(首字母大写),别写成小写的baseos了,路径拼写错误是这类问题的常见诱因。
  • 验证ISO文件的完整性:如果上面的步骤都没解决问题,有可能是你用的ISO文件本身损坏了,导致BaseOS的repodata目录里的文件有问题。如果能拿到官方提供的ISO哈希值,用sha256sum命令对比校验;要是离线没法查,也可以换个确认完好的ISO重新挂载试试。

这里给你一个调整后的repo文件参考:

[InstallMedia-AppStream]
name=Red Hat Enterprise Linux 8 - AppStream
metadata_expire=-1
gpgcheck=1
enabled=1
baseurl=file:///mnt/cdrom/AppStream/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[InstallMedia-BaseOs]
name=Red Hat Enterprise Linux 8 - BaseOS
metadata_expire=-1
gpgcheck=1
cost=500
enabled=1
baseurl=file:///mnt/cdrom/BaseOS/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

另外要提醒你:在完全离线的环境里,yum update只能把系统更新到ISO镜像里包含的软件版本,毕竟没有在线源提供更高版本的包。如果你的系统已经是ISO里的最新状态,可能会提示“无可用更新”,但如果是repomd.xml解析错误,那还是优先排查上面提到的配置或挂载问题。

备注:内容来源于stack exchange,提问作者grizzo

火山引擎 最新活动