无法从本地存储库“yum install”RPM 软件包 (Oracle Linux)

无法从本地存储库“yum install”RPM 软件包 (Oracle Linux)

我正在 Oracle Linux 上工作并尝试创建本地存储库。我设法创建一个 .repo 条目,它指向我系统中的一个目录。该目录包含一个 RPM 包。

但是当我使用命令“yum repolist”时,它显示存储库,但将存储库的状态列出为零。但该目录确实包含 RPM 软件包。

状态=0

这是 .repo 文件。

[rhel_repo]
baseurl=file:///rhel_gnu_repo
enabled=1

我尝试跑步createrepo再次在目录上,我得到以下输出。

[root@ttnetwork /]# createrepo /rhel_gnu_repo/
产卵工 0,带 2 包
Worker 0:错误:无法打开本地 rpm 文件:/rhel_gnu_repo//avidemux-2.6.12-5.fc24.i686.rpm:RPM 打开软件包时出错
Worker 0:错误:无法打开本地 rpm 文件:/rhel_gnu_repo//avidemux.rpm:RPM 打开软件包时出错
工人完成
收集工人结果
保存主要元数据
保存文件列表元数据
保存其他元数据
生成 sqlite 数据库
Sqlite DB 完成

这些是文件夹的内容。 内容

答案1

这个问题有一堆问题。我能够解决它们并使本地存储库正常工作。我将在这里发布这些问题的解决方案。

  1. repolist 的状态不应为零。它应该等于可用 RPM 软件包的数量。这回答准确地展示了如何解决这个问题。

  2. 由于 RPM 包已损坏,createrepo 命令出现错误。一定是没有正确下载。使用 yum“仅下载”扩展来确保下载正确的 RPM 软件包。

  3. 确保您的 repo 目录中只有 RPM 软件包。我在该目录中的目录也引起了问题。这应该可以解决您有关本地存储库的问题。

答案2

在我们的例子中,由于 rpm 文件损坏,我们遇到了相同的错误。

修复方法是重新下载 rpm,然后重新运行 create repo 命令。

答案3

问题显示createrepo无法打开RPM文件,因此repodata目录中没有任何内容也就不足为奇了。

明显的问题是该命令的尾部斜杠:

createrepo /rhel_gnu_repo/

这很令人困惑createrepo。你可能的意思是

createrepo /rhel_gnu_repo

相关内容