yum 组的来源是哪个存储库?

yum 组的来源是哪个存储库?

有没有简单的方法可以确定特定 yum 组的来源?

我可以使用以下方式查询可用的群组yum grouplist
我可以使用以下方式查询群组信息yum group info $yum_group_name

令我困扰的是,我无法确定某个组的数据来自哪个存储库。

我所做的最好的事情就是找到哪些存储库包含该组:

yum_group_name="....."  # or ID 
# find all repository identifiers
# perform yum commands with only 1 repository enabled
cat /etc/yum.repos.d/*  | grep '\[.*\]' | grep -v '#' | tr -d '[]' | xargs -I {} -t sh -c "yum --disablerepo='*' --enablerepo='{}' group info $yum_group_name 2>&1 | grep 'Group:'"
# subsequently, associate a bareurl to repository identifier

假设一个组存在于多个存储库中,我如何知道使用了哪一个?

答案1

不确定是否有打印组列表和相应源存储库的选项。使用-v选项groupinfo列出给定组的软件包的源存储库。

# yum groupinfo <grp_name> -v 

或者

# yum groups info <grp_name> -v # on RHEL 7
Group: Security Tools
Group-Id: security-tools
rpmdb time: 0.000
Description: Security tools for integrity and trust verification.
Default Packages:
  +scap-security-guide-0.1.33-6.el7_4.noarch    rhel-7-server-rpms
Optional Packages:
  aide-0.15.1-13.el7.x86_64                     rhel-7-server-rpms

答案2

我认为组是在“基础”存储库的元数据中定义的。至少这是我在 CentOS 中看到的。它们不像包那样“位于”任何存储库中;而是存储库结构的一部分。这是我在 CentOS-* 存储库中看到它们定义的唯一地方。

http://mirror.centos.org/centos/7/os/x86_64/repodata/*.comps.xml

我在 ELREPO 的 repodata 目录中看到了另一个 *comps.xml。我认为它的组可能与 Centos-base 中现有的组合并了,如果还没有现有组,我们将看到可用的新组。

因此,当 elrepo 启用时,效果是“基础”组会获得更多软件包。而且会有一些新组。

相关内容