
我們的軟體堆疊需要一些特定版本的 RPM 套件。不幸的是,隨著時間的推移,其中一些軟體包已被棄用,並從其儲存庫中刪除,因為它們的維護者不保留檔案(EPEL、Percona 等)。
這是配置管理的問題。我們希望確保為新機器配備與舊機器相同的軟體(我們使用 Puppet)。
我想標準解決方案是將這些套件託管在我們為自己設定的私人 YUM 儲存庫中。這對於我們需要從原始碼編譯的套件也很有好處。
我的問題是:您是否知道 Yum 儲存庫伺服器有任何“代理工具”,以便每個代理從那裡下載軟體包,並且儲存庫伺服器從外部原始來源下載軟體包,然後將它們緩存在本地? (以防它們從原始倉庫中消失)
與 Java 世界的類比是 Archiva,它是一個 Maven 儲存庫伺服器,但也可用於代理對公共儲存庫的請求並在本地快取它們。
作業系統:Centos 6.4
謝謝
答案1
我認為mrepo
這是一個很好的工具。您將其指向上游儲存庫,它將在本機進行鏡像。配置選項lftp-cleanup = no
、rhnget-cleanup = no
等將阻止在上游刪除包時從本機鏡像中刪除包。
答案2
下載您想要的特定 RPM 版本。建立您自己的本機儲存庫,僅包含您想要的套件。將您的客戶指向新的本機儲存庫。停止使用那些行為不符合您要求的公共工具。
開始:
yum -y install createrepo && man createrepo