tar는 오류를 반환하지만 "tar --no-ignore-command-error -xvzf file.tar.gz"를 사용하더라도 여전히 파일의 압축을 풉니다.

tar는 오류를 반환하지만 "tar --no-ignore-command-error -xvzf file.tar.gz"를 사용하더라도 여전히 파일의 압축을 풉니다.

file.tar.gz라는 손상된 파일이 있는데 이 파일의 추출이 실패하기를 원합니다. 사용했지만 tar --no-ignore-command-error -xvzf file.tar.gz여전히 파일을 추출하고 오류를 무시합니다.

[root@SmartSwitch zconf]# tar --no-ignore-command-error -xvzf a.tar.gz
gzip: crc error
gzip: error inflating
DBversion
License
textual_db.txt
tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now

답변1

압축된 아카이브를 추출하면 데이터의 압축을 풀기 위해 GNU가 tar실행됩니다 . gzip -d아카이브가 gzip올바르게 압축을 풀 수 없는 방식으로 손상된 경우 gzip질문에 보고된 것과 유사한 오류가 발생합니다.

tar압축이 풀린 데이터를 성공적으로 읽고 gzip해당 데이터를 처리한 후 종료합니다(표시된 것처럼 압축되지 않은 아카이브의 끝이 예기치 않게 발생하면 오류가 발생함).

--no-ignore-command-error옵션(기본 설정)은 주로 --to-command=utility이 옵션과 함께 사용됩니다.매뉴얼에 따르면--ignore-command-error특히 환경 변수의 일부로 만드는 경우에는 더욱 그렇습니다 TAR_OPTIONS.

하위 프로세스에 영향이 있을지 --no-ignore-command-error확실 하지 않습니다.--ignore-command-error아니요통과를 시작합니다 --to-command=utility.

관련 정보