Linux
配置 yum 安裝私有建構的 rpm
我需要安裝一些我自己建構到 RHEL8.3 中的 RPMS。我創建了 RPMS,而不是將它們添加到 red hat 的 iso 映像中。我將它們添加到 BaseOS 目錄下,並在安裝 red hat 時掛載映像並配置 /etc/yum.repos.d/something.repo,如下所示。
[InstallMedia] name=Red Hat Enterprise Linux 8.3.0 enabled=1 baseurl=file:///mnt/old_valid/BaseOS gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release mediaid=None metadata_expire=-1 gpgcheck=1 cost=500
這工作正常我可以執行 yum update 並查看一切正常。當我嘗試安裝我的私有建構 rpm 時,我得到
Error: Unable to find a match: svr_common
即使二進製文件在那裡。我嘗試通過在已安裝目錄下提供 rpm 的完整路徑來安裝它,並且可以正常工作。
yum install /mnt/old_valid/BaseOS/Packages/svr_common-0.0-10000.x86_64.rpm
似乎我需要在 repo 中配置其他東西,但不確定那是什麼。
當您指向
yum
儲存庫時,它不會遍歷儲存庫以搜尋 *.rpm 文件,它最初僅嘗試訪問儲存庫元數據。這些元數據文件為 yum 提供了該 repo(以及更多)中可用軟體包的概述,並使 yum 操作更加方便。
在對現有儲存庫進行更改或為自定義 RPM 文件創建新儲存庫後,您需要更新/生成儲存庫元數據,否則 yum 將無法檢測到這些更改。
您需要安裝該
createrepo
軟體包,然後為此使用相同的 createrepo 命令。cd /mnt/old_valid/BaseOS createrepo --database /mnt/old_valid/BaseOS
額外的標誌,如
--update
可以加速現有 repo 上的 createrepo 操作,其中只進行了很少的更改。