Ubuntu

配置管理工具(Puppet、Chef)是否能夠使已安裝的軟體包保持最新?

  • October 21, 2017

對於那些已經在執行配置管理工具的人來說,這可能是一個簡單的問題。配置管理工具(例如 Puppet 或 Chef)是否是保持已安裝軟體包最新的正確方法?

假設我執行許多伺服器,主要基於 Debian 和 Ubuntu。當安全更新或錯誤修復出現時,配置管理工具是否可以更輕鬆地更新從儲存庫安裝的軟體包?

我目前執行“無人值守升級”以讓系統自動安裝安全更新,但我仍然需要連接到伺服器並aptitude update && aptitude safe-upgrade經常執行。自然,伺服器越多,這就會變得乏味、乏味且容易出錯。

諸如 Puppet 或 Chef 之類的工具是否是使已安裝軟體包保持最新的正確方法?你們中是否有人使用這些工具來避免aptitude在 15 台伺服器上手動執行或等效?我很確定這些問題的答案是“是的,當然!”

但是我在哪裡可以找到有關此特定案例的更多資訊?我還沒有時間深入研究 Puppet 或 Chef,範例食譜或課程僅顯示了安裝特定軟體包(例如 ssh)的或多或少的瑣碎範例。除了官方文件之外,您還有其他資源可以推薦(當然,一旦我知道哪些工具適合我,我就會去研究文件)。

Puppet(我很確定 chef 也這樣做)與您的apt-get / yum軟體儲存庫相關聯。由於他們負責確定哪些軟體包可用,這意味著ensure => latest只適用於 Ubuntu/CentOS/Debian 等。只要您正確設置了適當的文件(/etc/apt/sources.list等)。

你可以用 puppet 來做,你可以:

ensure => latest,

要麼

ensure=> "1.0.2",

指定最新/所需的版本。IE

package { apache2: ensure => "2.0.12-2" }
package { apache2: ensure => latest }

這至少意味著您可以在所有系統中指定相同的版本,並防止伺服器(可能很危險)自動升級自身。我已經在許多站點的生產中使用了這種方法,並且效果很好。

執行無人值守升級讓我有點害怕,特別是如果他們正在升級關鍵任務包、核心、mysql 庫、apache 等。特別是如果安裝腳本可能想要重新啟動服務!

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