Yum

無法通過自定義 yum 儲存庫獲得更高版本的 RPM

  • October 1, 2013

我按照本指南創建了一個自定義儲存庫。

文件通過 http (nginx) 提供。我已經cd進入目錄以創建元數據createrepo .。我可以通過 yum 從我的自定義倉庫中安裝一個包;到目前為止,一切都很好。

現在我想看看升級過程是如何工作的,這就是我遇到麻煩的地方。我成功安裝的第一個軟體包來自build-utils-20130930-62.noarch.rpm

於是我新建了一個包build-utils-20131001-63.noarch.rpm,然後在 repo 目錄下sudo createrepo --update .。現在我試試sudo yum --nogpgcheck install build-utils,結果

Package build-utils-20130930-62.noarch already installed and latest version

我嘗試通過更明確地呼叫 yum 來安裝新版本

sudo yum --nogpgcheck install build-utils-20131001-63

結果

No package build-utils-20131001-63 available.

決定深挖filelists.xml文件,看看更新是否有效,果然

<package pkgid="c12eb685ebfedf4dd3155d0910517f3eb208dac09cc36b9e971541f038a4590d" name="build-utils" arch="noarch">
   <version epoch="0" ver="20131001" rel="63"/>

所以我什至嘗試完全刪除目前版本

yum remove build-utils

現在我從頭開始安裝

sudo yum --nogpgcheck install build-utils

yum 仍然為我提供 62 版!我什至試圖清除 yum 記憶體su -c 'yum clean headers'無濟於事。

如何從自定義儲存庫中獲取我的新版本?

嘗試:

yum clean all

yum -y update build-utils

repolist 記憶體在您的 yum 客戶端主機上。

“從任何啟用的儲存庫中清除所有記憶體的文件。不時執行以確保沒有使用不必要的空間很有用。” [ 1 ]

我已經接受了@dmourati 的回答,我將保持這種狀態,但最終的解決方案是更改我的儲存庫配置文件,使其不在此儲存庫中記憶體。

[customrepo]
name=Custom Repository
baseurl=http://custom/$basearch
enabled=1
metadata_expire=0

注意最後一行(再次感謝@dmourati!)。這樣我就不必執行任何類型的yum clean. 並且記憶體仍然適用於所有其他儲存庫。

我在這個儲存庫上禁用記憶體的原因是這些是我們將經常建構的專有應用程序包。也許在生產中我會允許一些記憶體,但我們必須看看建構/部署系統是如何形成的。

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