Puppet 清单通过传递 cookies 而没有证书来下载 java
Puppet manifest to download java by passing cookies and no certificate
我正在尝试使用 Puppet 准备下载 java 的清单。这是我的清单
class java {
$install_path ="/opt/softwares"
$user_home="/home/vidyayug"
exec { "download_java":
command => "wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/7u4-b20/jdk-7u4-linux-x64.tar.gz" ",
cwd => "$user_home/archives",
path => [ "/usr/bin", "/bin"],
require => Package["wget"],
creates => "$user_home/archives/jdk-7u4-linux-x64.tar.gz",
timeout => 60000000
}
exec { "untar_jdk" :
command => "tar -xvzf $user_home/archives/jdk-7u4-linux-x64.tar.gz",
cwd =>"$install_path",
path => ["/usr/bin","/bin"],
require => [Package["tar"],],
unless => "test -d ${$install_path}/jdk*"
}
}
当我 运行 Puppet 时,我遇到了以下问题:
vidyayug@liferay:~/puppet/manifests$ sudo puppet apply site.pp --modulepath=../modules/
Warning: The use of 'import' is deprecated at /home/vidyayug/puppet/manifests/site.pp:9. See http://links.puppetlabs.com/puppet-import-deprecation
(at /usr/lib/ruby/vendor_ruby/puppet/parser/parser_support.rb:110:in `import')
Error: Syntax error at 'Cookie'; expected '}' at /home/vidyayug/puppet/modules/java/manifests/init.pp:16 on node liferay
Error: Syntax error at 'Cookie'; expected '}' at /home/vidyayug/puppet/modules/java/manifests/init.pp:16 on node liferay
vidyayug@liferay:~/puppet/manifests$
下载 java 的命令在命令行上按预期运行,但在 Puppet 上运行不正常。以前我可以使用 Puppet 通过 apt-get 安装 java。
请帮助我解决上述问题,因为我需要安装特定版本的 JDK。
您正在嵌套双引号,因此 Puppet 认为您的命令字符串恰好在 "Cookie" 之前结束。您要么需要转义字符串中的双引号,要么用单引号替换最外面的双引号。
我正在尝试使用 Puppet 准备下载 java 的清单。这是我的清单
class java {
$install_path ="/opt/softwares"
$user_home="/home/vidyayug"
exec { "download_java":
command => "wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/7u4-b20/jdk-7u4-linux-x64.tar.gz" ",
cwd => "$user_home/archives",
path => [ "/usr/bin", "/bin"],
require => Package["wget"],
creates => "$user_home/archives/jdk-7u4-linux-x64.tar.gz",
timeout => 60000000
}
exec { "untar_jdk" :
command => "tar -xvzf $user_home/archives/jdk-7u4-linux-x64.tar.gz",
cwd =>"$install_path",
path => ["/usr/bin","/bin"],
require => [Package["tar"],],
unless => "test -d ${$install_path}/jdk*"
}
}
当我 运行 Puppet 时,我遇到了以下问题:
vidyayug@liferay:~/puppet/manifests$ sudo puppet apply site.pp --modulepath=../modules/
Warning: The use of 'import' is deprecated at /home/vidyayug/puppet/manifests/site.pp:9. See http://links.puppetlabs.com/puppet-import-deprecation
(at /usr/lib/ruby/vendor_ruby/puppet/parser/parser_support.rb:110:in `import')
Error: Syntax error at 'Cookie'; expected '}' at /home/vidyayug/puppet/modules/java/manifests/init.pp:16 on node liferay
Error: Syntax error at 'Cookie'; expected '}' at /home/vidyayug/puppet/modules/java/manifests/init.pp:16 on node liferay
vidyayug@liferay:~/puppet/manifests$
下载 java 的命令在命令行上按预期运行,但在 Puppet 上运行不正常。以前我可以使用 Puppet 通过 apt-get 安装 java。
请帮助我解决上述问题,因为我需要安装特定版本的 JDK。
您正在嵌套双引号,因此 Puppet 认为您的命令字符串恰好在 "Cookie" 之前结束。您要么需要转义字符串中的双引号,要么用单引号替换最外面的双引号。