在 ansible 中提取 tar.gz 文件时,我最终得到第一个目录
- name: Extract archive
unarchive: src=file.tar.gz
dest=/foo/bar
这导致/foo/bar/bar-version-someFirstLevelFolder/contentOfArchive
我如何防止创建这种额外的层次结构?
答案1
为了剥离bar-version-someFirstLevelFolder
您需要使用--strip-components=1
中的选项tar
。所以你的剧本应该是这样的
- name: Extract archive
unarchive:
src: file.tar.gz
dest: /foo/bar
extra_opts: ['--strip-components=1', '--show-stored-names']
该show-stored-names
选项自 Ansible 2.1 起可用,将修复幂等性问题。