Centos
YUM、“patchlevel”和 redhat/centos 上的 DTAP 街道
有沒有辦法讓 yum 更新到某個更新檔級別?
我總是向我的開發人員保證 Dev、Test、Acc 和 Prod 之間的伺服器與軟體版本相同。但是,當您通過 redhat 網路使用 yum 時,無論如何它都會更新到最新版本。
當您部署到開發或測試之外的伺服器時,問題就出現了。您當然可以從這個更新過程中排除重要的包。但是,如果自您上次更新以來有可用的新版本,則其他各種軟體包仍將更新到較新的版本。這樣你的伺服器就不會完全一樣了。
有沒有辦法(通過 yum)確定您將獲得與 DTAP 街道中的其他伺服器完全相同的包配置。
這就是配置管理的美妙之處……例如使用 Puppet,我可以
ensure => latest
甚至ensure => '1.2.2-7.el6'
您能否舉例說明您希望控制其版本的特定軟體包?
我問是因為這是 Red Hat/CentOS,並且在伺服器產品的整個生命週期中,為了保持軟體包的主要版本在次要版本之間兼容,我們付出了巨大的努力。實際上,您是在跑步
package-0.17-39.el6
還是在package-0.17-43.el6
. 更不用說不斷向後移植的錯誤和安全修復……所以在某些方面,我的開發、測試和生產伺服器看起來很相似,只是它們是 RHEL/CentOS 的相同版本並且具有相同的軟體包。但次要版本可能會發生變化,具體取決於安裝日期、更新檔計劃、正常執行時間/可用性要求、硬體平台等情況。
我的建議:
- 固定對您重要的軟體包的特定版本(通過 yum、本地 repo 或配置管理)。
- 禁用自動更新。
- 制定一個涵蓋整個環境的更新檔計劃。
- 修改你的建構過程。
- 當然,實施配置管理。