我使用Chef托管服务器,工作站和节点,并在节点上运行cookbook来安装Java,更新hosts文件。我无法在网站中找到解压缩tar文件的引用。你能帮我在这里或直接到一些有信息的网站。
提前致谢。
答案 0 :(得分:16)
实际上没有内置于Chef中来提取tar文件。您有两种选择,要么可以使用execute资源进行炮轰,要么使用某些社区食谱,例如tar cookbook custom resources defined for extracting tars。
在execute
资源示例中,它可能类似于
execute 'extract_some_tar' do
command 'tar xzvf somefile.tar.gz'
cwd '/directory/of/tar/here'
not_if { File.exists?("/file/contained/in/tar/here") }
end
而第三方tar菜谱肯定是reads nicer
tar_package 'http://pgfoundry.org/frs/download.php/1446/pgpool-3.4.1.tar.gz' do
prefix '/usr/local'
creates '/usr/local/bin/pgpool'
end
答案 1 :(得分:1)
从Chef Client 15.0开始,内置了archive_file
资源。它支持tar,gzip,bzip和zip。
archive_file 'Precompiled.zip' do
path '/tmp/Precompiled.zip'
destination '/srv/files'
end
答案 2 :(得分:0)
首先需要安装tar包,然后我们可以使用chef的execute资源来运行tar命令。您可以使用以下代码段。
package 'tar'
execute "extract tar" do
command 'tar -xf #{tarPath} -C #{installPath}'
end