Yum
為什麼我的包沒有包含在我的自定義 yum 儲存庫中?
我們有一個使用 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
如果成功,請考慮為您的自定義儲存庫設置更高的優先級,該儲存庫目前沒有設置優先級。