使用ansible unarchive从tar存档中提取目录
我想从tar文件中提取一个目录 在Linux操作系统中,用于安装目录解包-我只需执行以下操作:使用ansible unarchive从tar存档中提取目录,ansible,tar,Ansible,Tar,我想从tar文件中提取一个目录 在Linux操作系统中,用于安装目录解包-我只需执行以下操作: tar -xvf ingres.tar install 对于ansible,我尝试过: unarchive: remote_src: yes src: /ingres/ingres.tar dest: /ingres extra_opts: - "install" 但它当然不起作用。有什么想法吗?GNU tar命令有一个选择归档成员的选项:--addfile。提到: 如果文
tar -xvf ingres.tar install
对于ansible,我尝试过:
unarchive:
remote_src: yes
src: /ingres/ingres.tar
dest: /ingres
extra_opts:
- "install"
但它当然不起作用。有什么想法吗?GNU tar命令有一个选择归档成员的选项:
--addfile
。提到:
如果文件名以破折号(-
)开头,请在其前面加上--addfile
选项,以防止将其视为选项
但是,它也适用于其他文件,这意味着您可以在任务的extra_opts
中指定此选项,以选择要提取的文件或目录:
unarchive:
remote_src: yes
src: /ingres/ingres.tar
dest: /ingres
extra_opts:
- "--add-file"
- "install"
如果您没有太多的顶级条目,可以使用选项
exclude:
或直接使用shell:
模块。我不确定顶级目录的内容是否总是相同的。我知道我可以使用shell:
,只是想知道如果没有great是否可能!工作如预期!谢谢不客气!我在寻找同一个问题的答案。不幸的是,这会降低任务对不同类型存档的可移植性,因为unzip
有不同的命令行选项。是的,的确如此,但对我来说已经足够了,在这种情况下,我只使用gtar。解决方案是完美的!