Problem :Ich habe versucht, eine Datei MyFile.tar.gz zu entpacken, die vom Namen her wie eine gzip-Datei aussah. Aber beim Entpacken bin ich auf einen Fehler „gzip stdin not in gzip format“ gestoßen, der wie folgt lautete:
$tar xvzf MyFile.tar.gz
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error exit delayed from previous errors
Der Fehler weist darauf hin, dass die Datei nicht im gZipped-Format vorliegt. In welchem Format ist es dann? Um das herauszufinden, habe ich den Befehl „Datei“ darauf ausgeführt:
file MyFile.tar.gz
MyFile.tar.gz: POSIX tar archive (GNU)
Grund :Grund für den Fehler ist ziemlich offensichtlich. Die Datei ist keine gzip-Datei, sondern eine POSIX-Tar-Archivdatei. Das heißt, es wurde überhaupt nicht gezippt, sondern mit tar komprimiert. Es wurde später einfach umbenannt, glaube ich.
Vielleicht wollte der Ersteller der Datei ein Verzeichnis gzip, konnte das aber nicht, weil das Verzeichnis erst mit tar archiviert werden muss. Verwirrt? Ich empfehle, diesen Artikel zu lesen, um den Unterschied zwischen tar und zip zu lernen.
Lösung :Da es sich nicht um eine gzip-Datei handelt, kann ein einfaches tar die Datei extrahieren:
tar xvf MyFile.tar.gz
So habe ich dieses Problem nun behoben. Ich rate Ihnen, den Dateibefehl für Ihre Datei auszuführen und zu sehen, um welche Art von Archivdatei es sich handelt.
Wenn Ihre Datei ebenfalls im POSIX-Tar-Archivformat vorliegt, können Sie denselben Befehl verwenden, den ich im obigen Beispiel verwendet habe.
Wenn es sich um ein anderes Archivformat handelt, sollten Sie den entsprechenden Befehl ausführen, um die Archivdatei zu extrahieren. Sie müssen ein wenig im Internet suchen, wie Sie diese bestimmte Art von Archivdatei extrahieren können. Es sollte keine schwierige Aufgabe sein, wenn Sie auch nur ein wenig Erfahrung mit Linux-Befehlen haben.
Ich hoffe, Sie fanden es hilfreich. Prost :)