我在尝试使用 CFENGINE3.5 配置某些东西时遇到了一个问题,我创建了一个从源代码安装一些包的策略,它从某个 url 下载 tar 球,然后解压缩它并使用 make 和 make install 进一步挖掘它,一切正常除了下载保存在“/etc”位置的 tar 球外,我希望 cfengine 将此文件放在 /tmp。
有没有办法自定义 cfengine 的这种默认行为,以将所有临时下载的文件保存在“/tmp”而不是“/etc”。
以下是政策片段:
bundle agent install
{
vars:
"packages" slist => {
"Algorithm-Diff-1.1902",
"Apache-DB-0.13",
"Apache-DBI-1.06",
"Apache-Session-1.83",
"Apache-SessionX-2.01",
"AppConfig-1.65",
"Archive-Tar-1.32",
};
commands:
"/usr/bin/wget http://10.X.X.X/downloads/perl-modules/$(packages).tar.gz;
/usr/bin/gunzip $(packages).tar.gz;
tar -xf $(packages).tar;
cd $(packages);
/usr/bin/perl Makefile.PL;
/usr/bin/make;
/usr/bin/make install;"
contain => standard,
classes => satisfied(canonify("$(packages)-installed"));
}
body contain standard
{
useshell => "true";
exec_owner => "root";
}
提前致谢。