带有组列表的本地 yum 存储库不起作用

Zam*_*ues 5 yum rhel system-installation repository

我正在尝试为 RHEL 6 创建一个带有组列表的本地 yum 存储库。来自 DVD 的包被转储到以下位置 /var/www/html/rhelisos/

为了创建 repo,我使用了以下命令。

1.  createrepo -g /var/www/html/rhelisos/repodata/8afad1febf2d8844a235a9ab1aa5f15c9cec1219b9d01060d4794435cf59dffe-comps-rhel6-Server.xml /var/www/html/rhelisos/Packages
2. yum clean all
3. yum makecache
Run Code Online (Sandbox Code Playgroud)

更新了 /etc/yum.repos.d/ 中的配置文件以指向 yum 存储库。

yum grouplist仍然因错误而失败

Error: No group data available for configured repositories

yum install 命令工作正常

# yum install httpd
Loaded plugins: product-id, security, subscription-manager
Updating certificate-based repositories.
rhel-source-beta                                                      2804/2804
Setting up Install Process
Resolving Dependencies
 --> Running transaction check
 ---> Package httpd.i686 0:2.2.15-15.el6 will be installed
 --> Processing Dependency: libpcre.so.0 for package: httpd-2.2.15-15.el6.i686
 --> Processing Dependency: libldap-2.4.so.2 for package: httpd- 2.2.15-15.el6.i686
 --> Finished Dependency Resolution

 Dependencies Resolved

  ================================================================================
  Package        Arch       Version                 Repository              Size
  ================================================================================
  Installing:
  httpd          i686       2.2.15-15.el6           rhel-source-beta       817 k
  Installing for dependencies:
  apr            i686       1.3.9-3.el6_1.2         rhel-source-beta       129 k
  apr-util       i686       1.3.9-3.el6_0.1         rhel-source-beta        89 k
  openldap       i686       2.4.23-20.el6           rhel-source-beta       261 k
  pcre           i686       7.8-3.1.el6             rhel-source-beta       195 k

  Transaction Summary
  ================================================================================
  Install       5 Package(s)

  Total download size: 1.5 M
  Installed size: 4.5 M
   Is this ok [y/N]:
Run Code Online (Sandbox Code Playgroud)

我在使yum grouplist工作的配置步骤中缺少什么?还是*Comps*.xml文件有问题?

请建议。

slm*_*slm 5

我相信您必须在存储库中自己创建这些组。请参阅 YUM wiki 中的此主题,标题为:Yum groups and repositories。特别是本节:“在您自己的存储库中设置您自己的组”。

基本上有两个步骤可以实现此目的:

  1. 以 yum 使用的组格式创建文件
  2. 告诉 createrepo 将该组文件包含在您的存储库中。

步骤 #1 - 创建组 XML 文件

您可以手动创建组 XML 文件,也可以使用此命令构建一个组 XML 文件,告诉它要使用的名称、另存为的文件以及要包含在组中的 RPM。

例如:

$ yum-groups-manager -n "My Group" --id=mygroup --save=mygroups.xml \
     --mandatory yum glibc rpm
Run Code Online (Sandbox Code Playgroud)

生成的文件将类似于此:

<!DOCTYPE comps PUBLIC "-//Red Hat, Inc.//DTD Comps info//EN" "comps.dtd">
<comps>
  <group>
   <id>mygroup</id>
   <default>False</default>
   <uservisible>True</uservisible>
   <display_order>1024</display_order>
   <name>My group</name>
   <description></description>
    <packagelist>
      <packagereq type="mandatory">glibc</packagereq>
      <packagereq type="mandatory">rpm</packagereq>
      <packagereq type="mandatory">yum</packagereq>
    </packagelist>
  </group>
</comps>
Run Code Online (Sandbox Code Playgroud)

步骤 #2 - 将 XML 文件添加到您的存储库中

构建 XML 文件后,您需要将其合并到 YUM 存储库中。使用与此类似的命令来执行此操作:

$ createrepo -g /path/to/mygroups.xml /srv/my/repo
Run Code Online (Sandbox Code Playgroud)