OpenBSD의 소스에서 빌드하려고 할 때 파일 압축을 푸는 데 문제가 있습니다. 처음에는 파일이 손상된 줄 알았으나 매우 다양한 프로그램과 다양한 다운로드 방법( curl -O
FTP, 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.bz2
tar xjvf file
bunzip2 -c file | tar xvf -
- : 또는
.tar.xz
tar xJvf file
xzcat file | tar xvf -
- : 또는
.tar.lz
tar xjf file --lzip
lunzip -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
확인 해야 합니다 .bunzip2
bunzip2
bzip2