我正在使用 puppet 来配置一个 vagrant(基于 ubuntu)的虚拟机。在我的脚本中,我需要:
sudo apt-get build-dep python-lxml
我知道我可以安装apt
puppet 模块,所以我可以使用:
apt::builddep { 'python-lxml': }
但我找不到任何关于从脚本安装模块以及如何包含/需要它的参考。在我看来,木偶文档仅指从命令行木偶工具安装
我也尝试做类似的事情:
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':
}
但得到了could not find declared class apt at..
有任何想法吗?方向?我知道我遗漏了一些明显的东西,但无法弄清楚。
编辑:如果我预安装(puppet module install
从命令行)apt:builddep
工作正常。但我需要 puppet 来处理模块下载和安装。其他一些解决方法也适用于基本用例,但不会回答我的主要问题。