没有第一个目录的 ansible 提取

没有第一个目录的 ansible 提取

在 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 起可用,将修复幂等性问题。

相关内容