Rpm
更新 rpm 儲存庫的最佳實踐
我想詢問如何服務和更新私有 rpm 儲存庫(epel、centos、rhel 鏡像)的最佳實踐。
我使用
reposync
和createrepo
工具下載包並生成“repodata”,通過網路伺服器公開它,一切正常,但是……更新儲存庫的最佳方法是什麼?
複雜方式
我想知道在這樣的文件夾結構中有符號連結:
/repos/7Server/x86_64/Ref -> /repos/7Server/x86_64/Ref.2016-06-22
所以每次我更新儲存庫時:
- 將創建副本
- 與上游同步
- 重新生成元數據
- 將符號連結指向最新版本
- 刪除舊版本(文件夾)
元數據將始終與包匹配,並且儲存庫將以一致的方式。
簡單的方法
但是在我發現的每個文件中,人們只是簡單
reposync
地刪除和更新新包參數。不要關心客戶的任何不一致的狀態。所以我只是想知道,哪種方式最好,因為簡單的方法可以節省一些時間、磁碟 io、配置和自動化複雜性。
謝謝你的幫助。
這是一個有效的問題,但是客戶端也是一個問題。客戶端還記憶體 repo 資訊。這意味著當客戶端在 repo 更改時嘗試更新,但客戶端尚未更新其本地記憶體資訊時,您仍然會遇到問題。因此,無論如何您最終都會執行
yum clean all
以強制他們更新其本地記憶體。所以真的,擔心回購的一致性是可以的,但你也必須在客戶端處理它。所以我只會更新儲存庫,並清理客戶端上的記憶體。
另外,您多久更新一次客戶端上的軟體包?您可以在幾個小時後或客戶端更新不會發生的時候安排 reposyncs。