Yum

為什麼我的包沒有包含在我的自定義 yum 儲存庫中?

  • April 26, 2013

我們有一個使用 createrepo 創建的自定義 yum 儲存庫,它託管在 Amazon S3 儲存桶中。我們使用的yum-s3-iam 外掛按照本博文中的說明進行配置。允許我們的 ec2-instances 訪問受保護的 URL。

但是,我們似乎無法讓 yum 尊重目標伺服器上儲存庫中的軟體包。執行 yum repolist 時,我可以看到找到了 repo,但是 repo 中的兩個包都被排除在外。

[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

我們已經驗證伺服器可以訪問儲存庫,並且外掛配置正確。事實上,我已經在 repo 中添加了同一個 RPM 的幾個不同版本,並觀察到 yum repo list 輸出的相應變化(0+3、0+4 等)。

我試過用不同的架構重新打包我們專有的 RPM,但這似乎沒有任何區別。

有任何想法嗎?有什麼方法可以強迫 yum 告訴我為什麼不包含這些軟體包?

priorities外掛排除了重複的軟體包,因為 yum 已經從更高優先級的儲存庫中選擇了這些軟體包。所以 yum 已經告訴你為什麼不包括這些軟體包。要測試優先級是否與問題有關,請嘗試在priorities禁用外掛的情況下執行 yum:sudo yum --disableplugin=priorities clean all

如果成功,請考慮為您的自定義儲存庫設置更高的優先級,該儲存庫目前沒有設置優先級。

引用自:https://serverfault.com/questions/502386