2013-04-20 71 views
0

例如可以嘗試讓木偶install the opengeo-suite用木偶來管理shell命令

做這樣的事情

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的和回聲被運行兩次?我們將在​​結束重複回購。兩次運行package { "opengeo-suite": }不會嘗試安裝該軟件包兩次,它只是確保其安裝。

問題#2:apt-get install opengeo-suite有幾個用戶輸入的promopts。當使用Package{"opengeo-suite":}時,Puppet會不知何故知道使用的默認輸入,還是會崩潰?

+0

請不要路過。 http://serverfault.com/questions/501252/using-puppet-to-manage-shell-commands – 2013-04-21 08:04:52

回答

1

首先,已經有這樣做的具體木偶方式:

https://serverfault.com/questions/111766/adding-a-yum-repo-to-puppet-before-doing-anything-else

Q1:是的,一切都將被一次又一次地運行。通常你必須保護你的執行者說「只有當這個文件不存在」,或者「檢查網站並更新,如果不同」或「強制文件具有這些內容」。

此外,不是追加到/etc/apt/sources.list,通常可以創建/etc/apt/sources.list.d/myrepo.conf。

Q2:木偶可能會掛起。你可以使用「apt-get install -y package」。但最好使用專爲安裝軟件包而設計的Puppet資源來安裝軟件包。

+0

對不起,問題#2,我的意思是問是否'包{「opengeo套房」:}'將在填默認提示輸入密碼等內容。針對特定的apt命令更新了問題 – Nyxynyx 2013-04-21 00:41:38

+0

,重用此模塊:https://forge.puppetlabs.com/puppetlabs/apt – mestachs 2014-02-15 20:46:46