.tar.bz2 또는 .tar.xz 파일의 압축을 풀 수 없는 이유는 무엇입니까?

.tar.bz2 또는 .tar.xz 파일의 압축을 풀 수 없는 이유는 무엇입니까?

OpenBSD의 소스에서 빌드하려고 할 때 파일 압축을 푸는 데 문제가 있습니다. 처음에는 파일이 손상된 줄 알았으나 매우 다양한 프로그램과 다양한 다운로드 방법( curl -OFTP, Windows에서 다운로드 및 WinSCP를 통해 다운로드), 심지어 동일한 프로그램의 다른 파일( .xz,,,)을 사용하여 테스트한 후 시작했습니다. 내가 뭔가 잘못하고 있는 게 틀림없어요. 사용할 때 발생한 오류.bz2.lz

tar xzvf file

gzip: stdin: unrecognized file format
tar: End of archive volume 1 reached
tar: Sorry, unable to determine archive format.

이런 현상은 다른 프로그램, 다른 다운로드 방법, 심지어 다른 파일에서도 발생하며 이는 나를 미치게 만듭니다.

지금 당장 압축을 풀 수 없는 파일의 예: Windows를 통해 gnutls-3.4.3.tar.xz다운로드 gmp-6.0.0a.tar.bz2하고 WinSCP 바이너리 모드를 통해 전송했습니다.

ls -L산출:

-rw-r--r--   1 root  wheel  6546268 Jul 12 09:18 gnutls-3.4.3.tar.xz
-rw-r--r--   1 root  wheel  2319400 Jul 24  2015 gmp-6.0.0a.tar.bz2

od -x산출:

od -x gnutls-3.4.3.tar.xz | head -10
0000000     37fd    587a    005a    0400    d6e6    46b4    0002    0121
0000020     0016    0000    2f74    a3e5    00e8    f06d    5d02    3300
0000040     8b9b    1912    a356    72d2    a129    5502    49fb    f64d
0000060     c492    64da    be73    7fde    4d79    9170    c055    27b9
0000100     8fc9    6caa    3f02    b551    e014    fd24    a2ad    c57d
0000120     ce49    59f3    da73    0ee9    0319    b7ea    c55c    5e2e
0000140     8fd8    7af6    4f97    b1a8    1ac9    d553    a703    1f1d
0000160     b226    682e    3e00    d2bc    a0f8    4b57    13d0    f887
0000200     7f84    c83f    94cd    154b    1dfe    37cd    25db    13d9
0000220     cdcd    5861    6558    acc3    0103    21ed    e8d9    979d

J내 tar는 그것을 옵션으로 인식하지 못하는 것 같습니다 .

tar xJvf gmp-5.1.3.tar.xz
tar: unknown option J

두 번째 명령의 오류 출력:

tar xjvf gmp-6.0.0a.tar.bz2
tar: could not exec bzip2: No such file or directory
tar: End of archive volume 1 reached
tar: Sorry, unable to determine archive format.

더 유용한 오류 출력:

tar xvf gnutls-3.4.3.tar.xz
tar: Cannot identify format. Searching...
tar: Cpio file name length 36039 is out of range
tar: Invalid header, starting valid header search.
tar: Cpio file name length 63118 is out of range
tar: Cpio file name length 38744 is out of range
<suppressed similar errors>
tar: Cpio file name in header is corrupted
tar: Cpio file name length 46161 is out of range
tar: Cpio file name length 32085 is out of range
<suppressed similar errors>
tar: Cpio file name in header is corrupted
<more suppressed similar errors>
tar: End of archive volume 1 reached

답변1

z옵션은 tar아카이브의 압축을 풀도록 사용(또는 그에 상응하는 내부)을 지시하며 일반적으로 확장자가 있는 압축된 아카이브 gunzip에만 적용됩니다 .gzip.tar.gz

다른 압축 형식을 사용하여 아카이브의 압축을 풀려면 다음을 시도해 보십시오.

tar xvf file

tar스스로 알아낼 만큼 똑똑한 지 확인해 보세요 . 그렇지 않은 경우 사용할 압축 해제 도구를 알려주거나 아카이브의 압축을 풀고 파이프할 수 있습니다.

  • : 또는.tar.bz2tar xjvf filebunzip2 -c file | tar xvf -
  • : 또는.tar.xztar xJvf filexzcat file | tar xvf -
  • : 또는.tar.lztar xjf file --lziplunzip -c file | tar xvf -

사용 중인 파일의 경우:

tar xJvf gnutls-3.4.3.tar.xz
tar xjvf gmp-6.0.0a.tar.bz2

또는 분명히 OpenBSD를 사용하여 tar:

xzcat gnutls-3.4.3.tar.xz | tar xvf -
bunzip2 -c gmp-6.0.0a.tar.bz2 | tar xvf -

와 함께 패키지되어 있을 수 있으므로 이를 갖고 설치했는지 xz확인 해야 합니다 .bunzip2bunzip2bzip2

관련 정보