Ich werde mit einer gzip Akte verrückt.
Ich kann die Datei unter Windows mit WinRAR dekomprimieren, aber unter einem UNIX-Betriebssystem ist dies nicht möglich.
Die Datei scheint in Ordnung zu sein. Wenn ich mache
file the_name_of_the_file.gz
Ich bekomme:
the_name_of_the_file.gz: gzip compressed data, from Unix, last modified: Sun Jan 30 14:10:21 2011
Aber wenn ich es mache
gunzip -f the_name_of_the_file.gz
Ich bekomme immer:
gzip: the_name_of_the_file.gz: unexpected end of file
Das gleiche Problem tritt auf, wenn ich versuche, die Datei mit dem GUI-Tool in Ubuntu oder MacOSX zu extrahieren.
Irgendwelche Ideen?
file
Befehl überprüft nicht die gesamte Datei. Es werden nur ein paar Bytes im Header betrachtet, um herauszufinden, dass es sich um einegz
verschlüsselte Datei handelt.Antworten:
Eine Problemumgehung zum Dekomprimieren einer Datei, wenn ein
gzip
Fehler mit "Unerwartetes Ende der Datei" auftritt, ist zu verwendenzcat
(wird normalerweise auch vom gzip-Paket Ihrer Distribution bereitgestellt).$ zcat file.raw.gz > file.raw
quelle
Haben Sie die Datei zufällig im ASCII-Modus per FTP von Win * nach Unix übertragen? Das könnte es erklären. Ist die Datei unter Win * und Unix gleich groß?
quelle
Ich vermute, Sie beschädigen die Datei, wenn Sie sie auf den * nix-Rechner kopieren.
FTP es im Binärmodus.
quelle
Ich habe das Problem mit dem Dienstprogramm P7zip gelöst , einem Port von 7za.exe für POSIX-Systeme.
quelle
Aufgrund einiger Erfahrungen mit WinRar gehe ich zunächst davon aus, dass unvollständige oder beschädigte Dateien extrahiert werden, ohne dass ein Fehler angezeigt wird , während gzip (korrekt) einen Fehler ausgibt .
Was macht 7zip aus Ihrer Datei?
Welche Version
gzip -V
kündigt das an?Was
gzip -t the_name_of_the_file.gz
sagt dir das? (wahrscheinlich das gleiche unerwartete EOF, aber einen Versuch wert)quelle
Ich hatte das gleiche Problem und in meinem Fall lag es an der Tatsache, dass die Datei eine leere (0 Byte)
gz
Datei war, die mit dem folgendentouch
Befehl erstellt wurde:gzip konnte es nicht dekomprimieren, wenn es mit dem folgenden Befehl aufgerufen wurde:
Die richtige Art, eine leere
txt
Datei darzustellen, bestand darin, zuerst dietxt
Datei zu generieren , sie dann zu komprimieren und schließlich zu dekomprimieren:Ich weiß nicht, ob dieses Szenario Ihren Fall repräsentiert, aber es kann Ihnen Hinweise geben oder jemand anderem helfen.
quelle