2012-12-29 57 views
2

我設置了一個私有存儲庫(現在是本地安裝)並構建了自定義rpms。這個想法是建立轉速,將其添加到回購,並觸發到幾個服務器的yum update mypackage私有存儲庫 - 更新,以便立即提取新的rpms

我遇到的問題是,較新版本的rpm沒有顯示出來......並且舊版本的rpm仍然存在,甚至在我從回購庫中刪除它之後。

我試過yum updateyum clean all但它沒有得到我本地回購的最新數據。

當我卸載軟件包並重新安裝它時,它會嘗試安裝不再存在的舊rpm並失敗。

什麼是更新回購數據的過程,所以我可以立即運行更新?

**更新**

當我寫這一點,我想嘗試createrepo .我更新的RPM之後。這使我可以安裝最新版本。

這是我應該在更新文件後運行?

+3

是的,每次修改存儲庫中的RPM集時,'createrepo .'都是必需的。 'yum'命令依賴於由此命令創建的元數據文件以正確運行。 – fge

回答

1

Fge的評論是正確的。每次向存儲庫添加新的rpm時,都必須運行createrepo。否則,回購元數據不會得到更新,因此它仍然將先前的RPM看作最新版本。我建議你退房yum.baseurl.org

4

重建你的存儲庫的元數據的最快方法是使用--update標誌createrepo:

createrepo --update -v /path/to/repo 

這隻會自從上次createrepo添加到您的回購過程中的RPM運行。

0

我還發現我需要修改我的yum.repo.d/internal.repo文件以包含比平常更早過期元數據的metadata_expire行。

[internal] 
metadata_expire=1h