2013-04-20 43 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