[英]Using Puppet to manage shell commands
例如,讓我們嘗試讓Puppet 安裝opengeo-suite 。
做類似的事情
wget -qO- http://apt.opengeo.org/gpg.key | apt-key add -
echo "deb http://apt.opengeo.org/suite/v3/ubuntu lucid main" >> /etc/apt/sources.list
我們可以用
exec {'getKey':
command => "wget -qO- http://apt.opengeo.org/gpg.key | apt-key add -",
}
exec {'addRepo':
command => "echo "deb http://apt.opengeo.org/suite/v3/ubuntu lucid main" >> /etc/apt/sources.list",
}
問題#1:如果再次運行木偶腳本,wget和echo不會運行兩次嗎? 我們最終將在/etc/apt/sources.d
得到重復的/etc/apt/sources.d
。 兩次運行package { "opengeo-suite": }
不會嘗試兩次安裝軟件包,而只是確保已安裝。
問題2:使用 apt-get install opengeo-suite
進行用戶輸入時有幾個提示。 當使用Package{"opengeo-suite":}
時,Puppet會以某種方式知道要使用的默認輸入,還是會崩潰?
首先,已經有一些特定於p的方法:
https://serverfault.com/questions/111766/adding-a-yum-repo-to-puppet-before-doing-anything-else
問題1:是的,所有內容都會一次又一次地運行。 通常,您必須警惕執行人員說“僅當此文件不存在時”,或“檢查網站並進行更新(如果不同)”或“強制文件具有這些內容”。
另外,通常可以創建/etc/apt/sources.list.d/myrepo.conf而不是附加到/etc/apt/sources.list。
Q2:木偶可能會掛起。 您可以使用“ apt-get install -y軟件包”。 但是最好使用專為安裝軟件包而設計的Puppet資源來安裝軟件包。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.