sudo apt-get build-dep python-lxml
我知道我可以安装 apt
puppet模块 以便使用:
apt::builddep { 'python-lxml': }
但是我找不到有关如何从脚本中安装模块以及如何包含/引用它的任何参考资料。对我来说,Puppet文档似乎只涉及从命令行puppet工具安装。
我还尝试了类似以下的操作:
define build_dep($pkgname){
exec {
"builddepend_$pkgname":
commmand => "sudo apt-get build-dep $pkgname";
}
}
build_dep{
"python-imaging":
pkgname => "python-imaging";
"python-lxml":
pkgname => "python-lxml";
}
但是 Puppet 在此处出现了错误。还有:
exec{"install apt module":
command => "puppet module install puppetlabs/apt"
}
class { 'apt':
require => Exec["install apt module"]}
include apt
apt::builddep { 'python-imaging':
}
但是收到了 无法找到声明的类apt..
的错误信息。
有什么想法?方向?我知道我错过了一些显而易见的东西,但是想不出来。
编辑:如果我使用命令行预先安装 (puppet module install
) apt:builddep
就可以正常工作。 但我需要puppet处理模块下载和安装。其他解决方法对于基本用例也有效,但无法回答我的主要问题。
(puppet module install puppetlabs/apache; true)
,但如果模块因其他原因安装失败,这可能会产生意想不到的后果。 - brain_bacon--force
选项,您可以执行类似于(puppet module list |grep puppetlabs-nodejs ) || (mkdir -p /etc/puppet/modules; puppet module install puppetlabs/nodejs)
的命令。(注释中不能有回车符,抱歉) - Iacopo