无法在 Red Hat Enterprise 7 上使用 yum 更新/安装 RPM -“无法打开文件 /root/rpms/repodata/repomd.xml”

无法在 Red Hat Enterprise 7 上使用 yum 更新/安装 RPM -“无法打开文件 /root/rpms/repodata/repomd.xml”

我有一个作为虚拟机运行的 RHEL 操作系统,我的团队想要更新两个特定的 RPMS(代理/程序已安装,但版本已过时,因此我们想要更新)。

我在使用 yum 下载 RPM 时遇到问题(指向MyRepo.repo目录中文件中的 jfrog 工件/etc/yum.repos.d),我不断收到404 - Error not found errors

因此,我决定仅使用curl 并将RPM 手动下载到虚拟机。只有 (2) 个 RPM,一个名称类似my-prog-app-8.0.rpm,另一个位于我创建的目录my-prog-libs-8.0.rpm中。/root/rpms

现在,我唯一的问题是当我运行类似以下内容时: yum update my-prog-appor yum update my-prog-libs,它每次都会失败,并出现以下错误:

failure: repodata/repomd.xml from MyRepo: [Errno 256] No more mirrors to try.
file:///root/rpms/repodata/repomd.xml: [Errno 14] curl#37 - "Couldn't open file /root/rpms/repodata/repomd.xml"

我不确定这个/repodata目录或repomd.xml它要查找的文件到底是什么。当我尝试使用 yum 通过指向MyRepo.repo之前文件中的神器来下载 RPM 时,我确实看到了同样的错误。我想我现在会安全了,因为我本地有 RPM,它们在/etc/yum.repos.d目录中定义为:

# cat /etc/yum.repos.d/MyRepo.repo
[MyRepo]
name=My Local Repo
baseurl=file:///root/rpms
enabled=1
gpgcheck=0

谁能告诉我我在这里可能做错了什么?这不可能是我的连接/防火墙问题,因为 RPM 已经安装/下载/位于该操作系统本地(位于/root/rpms),对吧?

这是什么/repodata/repod.xml?我怎样才能更新这(2)rpms?或者我打赌最好用它们进行全新安装或其他什么?

答案1

这是任何存储库都应该拥有的/repodata/repod.xml主存储库元数据文件。yum

目前尚不清楚为什么您不直接通过rpm或来安装更新下载的 RPM yum,而是创建了一个存储库定义/etc/yum.repos.d/MyRepo.repo

为了使您的存储库正常工作,您必须使用createrepo /root/rpms.这将在扫描.rpm目录中的文件后创建存储库元数据。

然后您的本地存储库将可供使用yum

答案2

明白了这一点。需要指向/repodata/repomd.xml/文件所在的baseurl。

相关内容