Yum
mrepo - 如何保留舊版本
我有一個通過 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 update
or 。yum install package
yum install httpd-2.2.15-9.el6
這可能是您想要為生產環境做的事情。
客戶端,你也可以使用 Yum 外掛versionlock,如果有特定的包你需要版本控制,但你想自由地更新其他的。
編輯:
為了我自己的好奇心,我花了一些時間在我們的 mrepo 伺服器上查看這個。的預設行為
lftp
是鏡像遠端主機。您能否提供顯示在 期間刪除包的輸出mrepo -ug
?範例文件中的註釋顯示
lftp-cleanup
用於:清理不在發送方的包?
因此,看來我的預感可能是正確的(儘管出於錯誤的原因。)我敢打賭上游源沒有歸檔包,並且您的預設 lftp-cleanup 值為 yes。您還應該確認軟體包在源頭仍然可用。