【发布时间】:2013-09-13 22:32:32
【问题描述】:
exec 或包类型的执行由 puppet master 可控
在 linux 上安装包 X,除非 X 已经安装:
package { "X": }
&&
在 Windows 上安装可执行文件 Y,除非 Y 已经安装:
exec { "packageYInstalled":
command => "packageY /S",
require => "C:\\temp\\packageY",
unless => "packageYinstalled";
}
puppet master 无法控制文件类型的执行,因为除非 puppet 文件类型中不允许有属性
file { "packageYCopiedToTempFolder": }
path => "C:\\temp\\packageY",
source => "puppet:///files/packageY";
}
从共享 (samba) 文件夹执行安装程序而不是先将其复制到代理系统不能解决问题
- Puppet 在多个外部系统上运行
- 在每次 puppet 运行期间将可执行文件、zip 和/或 tar.gz 包复制到远程系统,而这些文件在安装和软件安装后已被删除
【问题讨论】: