Yum

mrepo - 如何保留舊版本

  • May 26, 2014

我有一個通過 mrepo / createrepo 更新的本地 yum 儲存庫,我所有的伺服器都針對此本地儲存庫進行更新,但它總是安裝不適合生產環境的最新版本。

我想實施一個程序來控制客戶端授權拉取哪個版本的包。所以我需要有多個版本的包。

我在 /etc/mrepo.conf 中嘗試了以下參數,但我仍然看到由於在“ mrepo -uvvg ”期間更新的版本而刪除了軟體包

mirrordir-cleanup = no
reposync-cleanup = no
reposync-newest-only = no
rhnget-cleanup = no
rhnget-download-all = yes
rsync-cleanup = no

/etc/mrepo.d/centos.conf :

[centos6]
name = CentOS Repo $release ($arch)
release = 6
arch = x86_64
metadata = repomd repoview yum

### Additional repositories
centos6 = http://mirror.csclub.uwaterloo.ca/centos/$release/os/$arch/
centos6-updates=http://mirror.csclub.uwaterloo.ca/centos/$release/updates/$arch/

您沒有從 RHN 同步,因此“rhnget”選項對您沒有任何作用。相反,我認為您lftp-cleanup = no在鏡像 HTTP 源時需要。

此外,您可以通過請求特定版本來更精確,而不是發布yum updateor 。yum install package

yum install httpd-2.2.15-9.el6

這可能是您想要為生產環境做的事情。

客戶端,你也可以使用 Yum 外掛versionlock,如果有特定的包你需要版本控制,但你想自由地更新其他的。


編輯:

為了我自己的好奇心,我花了一些時間在我們的 mrepo 伺服器上查看這個。的預設行為lftp是鏡像遠端主機。您能否提供顯示在 期間刪除包的輸出mrepo -ug

範例文件中的註釋顯示lftp-cleanup用於:

清理不在發送方的包?

因此,看來我的預感可能是正確的(儘管出於錯誤的原因。)我敢打賭上游源沒有歸檔包,並且您的預設 lftp-cleanup 值為 yes。您還應該確認軟體包在源頭仍然可用。

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