2015-01-21 7 views
6

나는 Unsible 상태의 Anarchive 모듈을 사용하고 있으며 war 파일의 압축을 풀지 않는 것 같습니다. 그것은 .tar에서 잘 작동합니다.표적에 전쟁 파일을 추출하는 방법

또한 setype : "SELinux 파일 컨텍스트의 일부 유형" 스위치가있어 전쟁 유형으로 파일 유형을 설정하는 데 사용할 수 있는지 확실하지 않습니다.

나는이 시도 : 다시

내가 'setype'를 사용하지 않는 msg: Failed to find handler to unarchive. Make sure the required command to extract the file is installed. 내가 얻을 똑같은 오류 :

-name: Unpack war 
unarchive: src=~/wars/mywar.war 
      dest=/tmp/deploy 
      setype=war 
      copy=no 

이 오류를 제공합니다.

어떻게하면 Anecess를 사용하여 전쟁 파일을 추출 할 수 있습니까?

+0

setype 그것은 "리눅스 보안 강화"하지 않는 파일 형식입니다 그것과는 상관이 없다 "대상 호스트에 gtar/압축 해제 명령이 필요합니다." – serverhorror

답변

0

unarchive module의 Anipal 문서에 따르면이 파일은 tar, gzip, bzip2 및 xz 압축 파일 만 지원합니다. 빨리 소스를 탐색하여 war 파일의 압축을 풀 수 있다는 표시가 보이지 않았습니다. 명령 또는 셸 모듈을 통해 수동으로/path/to/java/bin/jar를 호출하여 수동으로 war 파일의 압축을 풀어야합니다.

편집 : 또한 setype 매개 변수는 아카이브 파일의 유형을 지정하기위한 것이 아닙니다. 이 매개 변수는 SELinux (보안 강화 Linux)과 관련이 있습니다. SELinux에 익숙하지 않다면 아마 그 매개 변수를 전혀 사용할 필요가 없을 것입니다.

+1

도 보통 지퍼/압축을 푸십시오. 하지만 내가 읽은 바에 따르면 war/jar 파일은 본질적으로 zip 파일입니다 ... – Mxx

+0

그들은 본질적으로 zip 파일이지만 unzip/untar/gunzip 명령보다는 jar 명령을 사용하여 압축/압축 해제합니다. 불가피한 모듈은 war 파일이 압축 해제를 지원하기 위해 지정 될 때 jar 명령을 사용하도록 지원하도록 수정되어야합니다. –

+0

나는 이것을 정확히 말하는 이전 해결책을 제안했다. 그것은 잘못된 것입니다 :'ansible -i ../inventory/hosts local -m unarchive -a "src = zip-content.war dest =./압축 된"-v' ('zip -r ...로 생성 된 war 파일 '명령 줄에서) - 나는 OP에있는 실제 오류에 대해서는 언급 할 수 없다. – serverhorror

0

이 오류는 ZIP 아카이브에서 직접 발생했습니다. ZIP이 불완전하기 때문에 실패했습니다. 서버에서 직접 unzip ~/wars/mywar.war을 실행할 수 있는지 확인하십시오. 그러면 더 유용한 오류 메시지가 나타날 수 있습니다.

1

Ansible을 사용하여 .war 파일을 보관 취소 할 수 있어야합니다. 'unzip'이 설치되어 있습니까? & 'unzip'명령을 대상 시스템에서 사용할 수 있습니까? Ansible Documentation 당으로

: 는

+0

매개 변수'-vvv'를 사용하여 좀 더 자세한 결과물을 얻을 수 있습니다 - 보통 문제가 무엇인지 알려줍니다. – trainmaster

관련 문제