我知道在puppet中執行apt-get更新的基礎知識,它只是在特定的包之前運行apt-get update,但是隻想指定僅運行apt-get update一次,然後執行puppet文件的其餘部分。那可能嗎?傀儡apt-get更新之前只有一次?
列出的所有方法Here都需要在每個包之前運行apt-get或使用箭頭或需要指定每個包。
我知道在puppet中執行apt-get更新的基礎知識,它只是在特定的包之前運行apt-get update,但是隻想指定僅運行apt-get update一次,然後執行puppet文件的其餘部分。那可能嗎?傀儡apt-get更新之前只有一次?
列出的所有方法Here都需要在每個包之前運行apt-get或使用箭頭或需要指定每個包。
這將是從該列表我的推薦:
exec { "apt-update":
command => "/usr/bin/apt-get update"
}
Exec["apt-update"] -> Package <| |>
這將確保高管被之前運行任何包,不就是EXEC是每個包之前運行。實際上,木偶中的任何資源只能是,每個木偶運行最多執行一次。
但是,如果你想在EXEC任何類型的資源我想你可以做這樣的事情發生之前:
exec { "apt-update":
command => "/usr/bin/apt-get update",
before => Stage["main"],
}
「主」舞臺是每個資源的默認階段,因此這將讓exec在別的之前發生。
我希望這有助於。
隨着puppetlabs-apt模塊,它應該是足夠的定義將被安裝任何包模塊上的依賴關係:的apt
Class['apt'] -> Package<| |>
這是假設的基本配置,如:
class { 'apt':
update => {
frequency => 'daily',
},
purge => {
'sources.list' => false,
'sources.list.d' => true,
},
}
這是更好的答案;它是Puppet文檔中推薦的一個,它避免了必須手動指定一個exec命令。 –
謝謝Sekm。我誤解了它是如何工作的,並想着是否有5個包例如它會運行apt-get update 5次。感謝您解釋它,併爲第二個選項,因爲它可以派上用場其他的東西。 – isimmons