为何我的软件包没有被包含在我的自定义 yum 存储库中?

为何我的软件包没有被包含在我的自定义 yum 存储库中?

我们有一个使用 createrepo 创建的自定义 yum 存储库,它托管在 Amazon S3 存储桶中。我们使用yum-s3-iam 插件按照说明进行配置在这篇博文中. 允许我们的 ec2 实例访问受保护的 URL。

但是,我们似乎无法让 yum 尊重目标服务器上存储库中的软件包。运行 yum repolist 时,我可以看到找到了存储库,但存储库中的两个软件包都被排除了。

[ec2-user@lysithea ~]$ sudo yum clean all && sudo yum repolist

Loaded plugins: priorities, s3iam, security, update-motd, upgrade-helper
Cleaning repos: amzn-main amzn-updates epel custom-main
Cleaning up Everything
Loaded plugins: priorities, s3iam, security, update-motd, upgrade-helper
amzn-main                                               | 2.1 kB     00:00     
amzn-main/primary_db                                    | 2.1 MB     00:00     
amzn-updates                                            | 2.3 kB     00:00     
amzn-updates/primary_db                                 | 229 kB     00:00     
epel/metalink                                           | 5.9 kB     00:00     
epel                                                    | 4.2 kB     00:00 
epel/primary_db                                         | 4.2 MB     00:00 
514 packages excluded due to repository priority protections
repo id                              repo name                  status
amzn-main                            amzn-main-Base              3,245
amzn-updates                         amzn-updates-Base             254
epel                                 Extra P...              6,639+514
custom-main                          custom-main                   0+2   

请注意,我收到了关于 514 个包被排除在“epel”之外的原因的通知,但没有收到关于“custom-main”的任何通知。

以下是 /etc/yum.repo.d/custom-main.repo 文件的内容:

[custom-main]
name=custom-main
baseurl=http://<redacted>.s3.amazonaws.com/noarch
enabled=1
s3_enabled=1
gpgcheck=0

以下是存储库布局(使用 s3cmd 与 s3 存储桶同步):

HaximusPrime:yum_repo ajbrown$ tree .
.
└── noarch
    ├── campaign-galleries-0.8.4-01.noarch.rpm
    ├── repodata
    │   ├── filelists.sqlite.bz2
    │   ├── filelists.xml.gz
    │   ├── other.sqlite.bz2
    │   ├── other.xml.gz
    │   ├── primary.sqlite.bz2
    │   ├── primary.xml.gz
    │   └── repomd.xml
    └── splunkforwarder-5.0.2-149561-linux-2.6-x86_64.rpm

我们已经验证服务器可以访问存储库,并且插件配置正确。事实上,我已将同一 RPM 的几个不同版本添加到存储库,并观察到 ​​yum repo list 输出相应变化(0+3、0+4 等)。

我曾尝试使用不同的架构重新打包我们的专有 RPM,但似乎没有任何区别。

有什么想法吗?有什么方法可以强制 yum 告诉我为什么未包含软件包?

答案1

priorities插件排除了重复的软件包,因为 yum 已经从优先级较高的存储库中选择了这些软件包。因此 yum 已经告诉您未包含这些软件包的原因。要测试优先级是否与问题有关,请尝试在priorities禁用插件的情况下运行 yum:sudo yum --disableplugin=priorities clean all

如果成功,则考虑为当前尚未设置优先级的自定义存储库设置更高的优先级。

相关内容