[英]Puppet manifest to unzip a zipped file on a windows host
我不断收到错误消息“找不到命令C:\\ puppetfolder \\ unzip.exe”或“找不到命令C:\\ puppetfolder \\ 7-Zip.exe”,无论我尝试哪一个……基本上,我都在尝试解压缩将压缩文件(server.zip)放入目录C:\\ puppetfolder。 Puppet能够在C:\\ puppetfolder \\目录中下载7z1507.exe和unzip.exe,因此它们是可执行文件。 但是我应该在命令属性中使用解压缩,解压缩,解压缩或7zip来获取此server.zip文件以解压缩到同一目录吗? 还是我的论点在这种用例中是错误的?
->文件{'C:\\ puppetfolder \\ 7z1507.exe':
ensure => 'present',
provider => 'windows',
mode => '0775',
owner => 'Administrator',
group => 'Administrator',
}
->文件{'C:\\ puppetfolder \\ unzip.exe':
ensure => 'present',
mode => '0775',
owner => 'Administrator',
group => 'Administrator',
}
->
文件{'C:\\ puppetfolder \\ server.zip':
ensure => 'file',
source => 'puppet:///modules/downloadscript/server.zip',
checksum => 'mtime',
mode => '0775',
owner => 'Administrator',
group => 'Administrator',
}
-> exec {'unzip_c:\\ puppetfolder \\ server.zip':
path => 'c:\\puppetfolder\\unzip.exe',
command => "C:\\puppetfolder\\unzip.exe /c C:\\puppetfolder\\server.zip C:\\puppetfolder -y",
provider => 'windows',
}
-> exec {'install_c:\\ puppetfolder \\ downloadtest.ps1':
command => 'C:\\puppetfolder\\downloadtest.bat',
logoutput => 'true',
provider => 'windows',
}}
在伪造reidmv-unzip上有一个模块,它将提供一个解压缩类型。
puppet module install reidmv-unzip
然后,您可以定义zip内容的源和目标。 源必须是Windows系统上的本地文件。
使用该类型,您的清单将被重写为以下内容:
file { 'C:/puppetfolder/server.zip':
ensure => 'file',
source => 'puppet:///modules/downloadscript/server.zip',
checksum => 'mtime',
mode => '0775',
owner => 'Administrator',
group => 'Administrator',
}
->
unzip { 'server-file':
source => 'C:/puppetfolder/server.zip',
creates => 'C:/puppetfolder/downloadtest.bat',
}
->
exec { 'install_c:/puppetfolder/downloadtest.ps1':
command => 'C:/puppetfolder/downloadtest.bat',
logoutput => 'true',
provider => 'windows',
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.