我在 RHEL7.6 中为自定义 yum 存储库设置自定义软件包组时遇到问题。
首先,以下是我创建自定义 yum 存储库所采取的步骤。
创建一个包含所有 RPM 的目录并复制相关的:
$ mkdir MyRepo $ cp /path/to/some/*.rpm MyRepo/
为存储库生成元数据:
$ cd MyRepo $ createrepo .
现在自定义存储库已创建,我将继续创建包组,如下所示。
- 在以下位置创建一个
comps.xml
文件MyRepo/repodata/
:
包含以下形式的元数据:$ touch repodata/comps.xml
<comps> <!-- <meta> --> <!-- Meta information will go here eventually... --> <!-- </meta> --> <group> <id>myrepo</id> <name>MyRepo</name> <default>true</default> <description>My custom repository</description> <uservisible>true</uservisible> <packagelist> <packagereq type="mandatory">octave</packagereq> <packagereq type="mandatory">octave-devel</packagereq> etc... </packagelist> </group> </comps>
- 然后,我更新之前创建的元数据以说明组数据:
createrepo -g repodata/comps.xml .
- 最后我创建
myrepo.repo
目录/etc/yum.repos.d/
并将以下内容放入其中:[myrepo] name=MyRepo baseurl=file:///path/to/MyRepo enabled=1
一旦这一切完成,我yum clean all
就毫无怨言地工作。但当我去测试事情时,yum --noplugins groupinfo MyRepo
事情变得很糟糕。我收到以下错误:
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Failed to add groups file for repository: MyRepo - comps file is empty/damaged
Warning: group/environment MyRepo does not exist.
我的 comps 文件不为空,其哈希值与repodata/repomd.xml
.我对如何调试这个感到非常困惑。我究竟做错了什么?包名输入错误会导致这么大的错误吗?
预先感谢您的帮助。
答案1
我收到相同的消息,“这里没有安装的组文件。”和“无法为存储库添加组文件:基础 - comps 文件为空/损坏”。
我正在从官方存储库进行默认安装。
原来是缓存问题。
sudo yum rm -rf /var/cache/yum
一切都清除了