Ich habe ein Problem beim Entpacken von Dateien, wenn ich versuche, auf meinem OpenBSD aus dem Quellcode zu erstellen. Zuerst dachte ich, es seien nur beschädigte Dateien, aber nachdem es vielen verschiedenen Programmen und verschiedenen Download-Methoden ( curl -O
, FTP, Download unter Windows und Übertragung über) passiert ist WinSCP) und sogar verschiedene Dateien des gleichen Programms ( .xz
, .bz2
, .lz
) ich kam zu glauben , ich muss etwas falsch machen. Der Fehler, den ich bei der Verwendung bekomme
tar xzvf file
ist
gzip: stdin: unrecognized file format
tar: End of archive volume 1 reached
tar: Sorry, unable to determine archive format.
Es passiert mit verschiedenen Programmen, mit verschiedenen Download-Methoden und sogar verschiedenen Dateien, und das macht mich verrückt.
Beispiele für Dateien, die ich derzeit nicht entpacken kann: gnutls-3.4.3.tar.xz
und gmp-6.0.0a.tar.bz2
über Windows heruntergeladen und über den WinSCP-Binärmodus übertragen.
ls -L
Ausgabe:
-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
Ausgabe:
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
Mein Teer scheint nicht einmal J
als Option zu erkennen:
tar xJvf gmp-5.1.3.tar.xz
tar: unknown option J
Und Fehlerausgabe vom zweiten Befehl:
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.
Nützlichere Fehlerausgabe:
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
Antworten:
Die
z
Option weisttar
an, ein Archiv mithilfegunzip
(oder seiner internen Entsprechung) zu dekomprimieren , und ist nur fürgzip
komprimierte Archive geeignet , normalerweise mit einer.tar.gz
Erweiterung.Sie können versuchen, Archive mit anderen Komprimierungsformaten zu dekomprimieren
um zu sehen, ob Sie
tar
klug genug sind, um die Dinge selbst herauszufinden. Wenn dies nicht der Fall ist, können Sie entweder angeben, welches Dekomprimierungswerkzeug verwendet werden soll, oder das Archiv dekomprimieren und weiterleiten:.tar.bz2
:tar xjvf file
oderbunzip2 -c file | tar xvf -
.tar.xz
:tar xJvf file
oderxzcat file | tar xvf -
.tar.lz
:tar xjf file --lzip
oderlunzip -c file | tar xvf -
Mit den Dateien, die Sie verwenden:
oder anscheinend mit OpenBSD
tar
:Sie müssen sicherstellen, dass Sie haben
xz
undbunzip2
installiert haben;bunzip2
kann verpackt werden mitbzip2
.quelle
bzip2
... Gern geschehen!curl
. (Das einzige echte Problem ist der ASCII-Modus mit FTP.) Es gibt keine Berechtigung zum Entpacken von Dateien. Sie müssen lediglich in der Lage sein, das Archiv zu lesen und in den Ordner zu schreiben, in den Sie entpacken.