[英]Copy file from Puppet master to agent unless software is installed
通过人偶主控执行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)文件夹执行安装程序,而不是先将其复制到代理系统无法解决此问题
我解决这个问题的方式,也许会有更好的方法做到这一点:
即
class productx::install (
$version,
$installer_path,
) {
# productx_version is a fact
if ! $::productx_version {
do the install
}
}
然后,您可以执行其他一些整洁的工作,例如在您的环境中审核软件
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.