Rpm

更新 rpm 儲存庫的最佳實踐

  • June 22, 2016

我想詢問如何服務和更新私有 rpm 儲存庫(epel、centos、rhel 鏡像)的最佳實踐。

我使用reposynccreaterepo工具下載包並生成“repodata”,通過網路伺服器公開它,一切正常,但是……

更新儲存庫的最佳方法是什麼?

複雜方式

我想知道在這樣的文件夾結構中有符號連結:

/repos/7Server/x86_64/Ref -> /repos/7Server/x86_64/Ref.2016-06-22

所以每次我更新儲存庫時:

  1. 將創建副本
  2. 與上游同步
  3. 重新生成元數據
  4. 將符號連結指向最新版本
  5. 刪除舊版本(文件夾)

元數據將始終與包匹配,並且儲存庫將以一致的方式。

簡單的方法

但是在我發現的每個文件中,人們只是簡單reposync地刪除和更新新包參數。不要關心客戶的任何不一致的狀態。


所以我只是想知道,哪種方式最好,因為簡單的方法可以節省一些時間、磁碟 io、配置和自動化複雜性。

謝謝你的幫助。

這是一個有效的問題,但是客戶端也是一個問題。客戶端還記憶體 repo 資訊。這意味著當客戶端在 repo 更改時嘗試更新,但客戶端尚未更新其本地記憶體資訊時,您仍然會遇到問題。因此,無論如何您最終都會執行yum clean all以強制他們更新其本地記憶體。

所以真的,擔心回購的一致性是可以的,但你也必須在客戶端處理它。所以我只會更新儲存庫,並清理客戶端上的記憶體。

另外,您多久更新一次客戶端上的軟體包?您可以在幾個小時後或客戶端更新不會發生的時候安排 reposyncs。

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