[英]Updating the package in puppet?
我正在嘗試使用ubuntu server通過puppet更新已安裝的軟件包。 但沒有更新沒有發生。
在人偶清單文件中,我們包含了收集器程序包,如下所示,
if !defined(Package['package name'])
{
package { 'package name': }
}
else
{
package { 'package name':
ensure => latest,
require => Exec['apt-get update'],
}
}
您能解釋一下此語句嗎-如果!defined(Package ['package name'])或如何升級軟件包。假設我要在下次部署時將php更新到最新版本...可以共享代碼嗎?
首先,應避免使用已defined
函數,因為它會創建與解析相關的行為,因此不建議這樣做。
您可能沒有按照自己的想法去做那段木偶代碼。 僅在已定義包的情況下,它才進入else
分支。 在這種情況下,您應該看到錯誤,因為您正在重新定義它,因此這是禁止的。
這意味着包沒有定義,你不帶任何選項定義它。 您可能需要看一下puppetlabs apt模塊 ,該模塊可以配置為在每次安裝軟件包之前運行apt-get update
,通常會使事情變得更易於管理(ppa,自定義軟件源等)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.