由木偶主控制执行exec或包类型
在Linux上安装软件包X,除非已经安装了X:
package { "X": }
&安培;&安培;
在Windows上安装可执行文件Y,除非已经安装了Y:
exec { "packageYInstalled":
command => "packageY /S",
require => "C:\\temp\\packageY",
unless => "packageYinstalled";
}
木偶大师执行文件类型无法控制,除非在木偶文件类型中不允许属性
file { "packageYCopiedToTempFolder": }
path => "C:\\temp\\packageY",
source => "puppet:///files/packageY";
}
从共享(samba)文件夹执行安装程序而不是先将其复制到代理系统并不能解决问题
答案 0 :(得分:1)
我解决这个问题的方式,可能有更好的方法来实现这一目标:
即
class productx::install (
$version,
$installer_path,
) {
# productx_version is a fact
if ! $::productx_version {
do the install
}
}
您可以做其他整洁的事情,例如审核您环境中的软件