如何使用厨师食谱解压缩.sh文件

时间:2016-03-09 13:09:25

标签: chef recipe

您能否分享一份示例厨师食谱来执行.sh文件?该文件被压缩在一个文件夹中,所以我需要在执行之前先提取它(再次使用配方)。我在尝试静默安装.sh文件时遇到问题。 " -q"没有得到食谱的认可。我试图执行的命令是" sh .sh -q -varfile response.file" 我能够在linux上成功安装它,但不能使用配方。请帮忙

1 个答案:

答案 0 :(得分:1)

我假设您正在使用类似remote_file和两个execute资源的链接(假设压缩文件包含文件位于其根目录并且格式为gzipped tar,相应地更新命令):< / p>

execute "silent_install" do
  command "/path/to/package/script.sh -q -varfile /path/to/package/response.file"
  action :nothing
end

execute "unzip_package" do
  command "/bin/tar -xzf /path/to/package.tgz -C /path/to/package"
  action :nothing
  notifies :run,'execute[silent_install]', :immediately
end

remote_file "/path/to/package.tgz" do
  source "http://host/package-source.tgz" 
  notifies :run,'execute[unzip_package]', :immediately
end

然而这是ark资源更适合做的一种行为,而且非常容易出错和易碎。

使用相同类型的假设的示例(保持静默安装程序的执行,应该更好地包含在Makefile中,但这超出了我认为这个答案的范围):

execute "silent_install" do
  command "/path/to/package/script.sh -q -varfile /path/to/package/response.file"
  action :nothing
end

ark 'mypackage' do
   url 'http://remote.host/package.tar.gz'
   path "/path/to"
   action :put
   notifies :run,'execute[silent_install]', :immediately
 end