tar lzma 자동 압축으로 인해 "tar 아카이브처럼 보이지 않습니다"라는 오류가 발생합니다.

tar lzma 자동 압축으로 인해 "tar 아카이브처럼 보이지 않습니다"라는 오류가 발생합니다.

다음 스크립트

mkdir test && cd test
mkdir files
touch files/{1,2,3}
tar --create --file "test.lzma" files/{1,2,3} --auto-compress
mkdir extracted_files
tar --extract --file "test.lzma" --directory extracted_files --auto-compress

다음 오류가 발생합니다.

tar: 이것은 tar 아카이브처럼 보이지 않습니다.

그러나 실제로 tar+압축 및 uncompress+untar가 발생합니다(파일이 제자리에 있음). 왜 이런 일이 발생합니까? 이것은 일종의 버그입니까 tar?

내 시스템에서:

xz --version
 xz (XZ Utils) 5.2.7
 liblzma 5.2.7
tar --version
 tar (GNU tar) 1.34
file test/test.lzma
 test/test.lzma: LZMA compressed data, streamed
ls test/extracted_files/
 files

다음으로 복사할 수도 있습니다.https://replit.com/언어/bash( xz (XZ Utils) 5.2.2tar (GNU tar) 1.34). 하지만 안에는 없어https://www.onlinegdb.com/online_bash_shell( xz (XZ Utils) 5.2.4tar (GNU tar) 1.30).

답변1

업스트림을 수정했습니다. 확인하다https://savannah.gnu.org/bugs/index.php?63250.

@Sergey Poznyakov <회색>:

"이것은 tar 아카이브처럼 보이지 않습니다."는 오류가 아니라 경고입니다. 이 오류는 특히 tar가 서명에서 파일 형식을 결정할 수 없고 파일 크기가 tar 블록 크기보다 작은 경우에 발생합니다. 서명 인식이 실패하면 tar는 접미사로 파일 형식을 결정하려고 시도합니다. 이 경우에는 성공하여 파일을 추출했습니다.

xz 생성 LZMA 파일을 인식하기 위해 다음 수정 사항을 설치했습니다.

http://git.savannah.gnu.org/cgit/tar.git/commit/?id=02f9af1b8df67e55ceb19ea1465d210a2fa1f02c

추신: 압축을 풀 때는 --auto-compress 옵션이 필요하지 않습니다.

관련 정보