첫 번째 디렉토리가없는 추출 가능


29

ansible에서 tar.gz 파일을 추출 할 때 첫 번째 디렉토리로 끝납니다

- name: Extract archive
  unarchive: src=file.tar.gz
             dest=/foo/bar

에서 어떤 결과가 /foo/bar/bar-version-someFirstLevelFolder/contentOfArchive 어떻게 계층이 여분의 수준을 생성 방지 할 수 있습니까?


관련성이 없을 수도 있지만 대상 디렉토리에 슬래시를 추가 할 때주의해야 할 경우가 있습니다. 그게 전혀 도움이 되나요?
소스 코드

답변:


40

를 제거 bar-version-someFirstLevelFolder하려면의 --strip-components=1옵션 을 사용해야합니다 tar. 플레이 북은 다음과 같아야합니다

- name: Extract archive
  unarchive:
    src: file.tar.gz
    dest: /foo/bar
    extra_opts: [--strip-components=1]

1
이것은 정답 인 것처럼 보이지만 현재 충돌을 일으킬 수 있습니다. 이 버그 리포트를 참조하십시오 github.com/ansible/ansible/issues/29657 중간 솔루션은 다음 상위 디렉토리에 압축을 풉니로하고 것이command: mv /foo/bar-version-someFirstLevelFolder/* foo/bar/
TheAtomicOption

마지막 버전에서 테스트되었으며 작동합니다. 그러나 비 보관은 dem 등성이 아니다.
Jérôme B
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.