Wie überprüfe / teste ich .tar.bz-Archive?


11

Ich habe tar mit der Funktion "--use-compress-prog = pbzip2" verwendet, um meine Dateien zu archivieren, und sie dann mit pbzip2 komprimiert, um ein "* .tar.bz" -Archiv zu erhalten.

Danach habe ich die resultierende Datei mit dem Schalter "-t" von pbzip2 überprüft und den Test bestanden. Zu meiner großen Überraschung habe ich jedoch beim Versuch, das Archiv zu extrahieren, "Datei unvollständig" oder andere Integritätsfehler erhalten!

Liegt es daran, dass möglicherweise etwas mit der TAR-Datei nicht stimmt, aber nicht, wenn sie von pbzip2 komprimiert wurde? Wenn ja, gibt es eine Möglichkeit, die TAR-Datei selbst zu überprüfen? Wenn nicht, welches andere Problem könnte dies sein? Gibt es auch Möglichkeiten, fehlerhafte Daten aus TAR-Dateien wiederherzustellen?

Ich fürchte, ich habe durch diesen Prozess bereits einige wichtige Daten verloren ...

Der Punkt ist, ich möchte eine Methode kennen, um die Integrität meiner Archive zu testen, nachdem sie erstellt wurden.


2
Versuchen Sie, mit normalem bunzip2 anstelle von pbzip2 zu dekomprimieren. Es gibt auch alternative Programme für Teer wie "Star" oder Winrar
Golimar

3
Bitte posten Sie die Befehle, die Sie ausführen. Haben Sie --use-compress-prog=pbzip2bei der Extraktion bestanden?
Mikel

Hallo. Ich möchte nur wissen, wie ich die Integrität eines Tar-Archivs testen kann, nachdem es erstellt und über bzip2 komprimiert wurde.
hpy

Antworten:


8

Erster Test bzip2 Komprimierung, sollte es ausgeben OK.

bzip2 -tv FILE.tar.bz2

Als nächstes dekomprimieren Sie den Tarball, um nur den Teer zu erhalten.

bunzip2 FILE.tar.bz2

Überprüfen Sie abschließend die TAR-Datei.

tar -tvfW FILE.tar

Ehrlich gesagt ist der beste Indikator für ein Problem eine fehlgeschlagene Extraktion. Hoffentlich können Sie die Ursache eingrenzen. Ich sollte auch erwähnen ..., ich hatte die gelegentliche Überprüfung des Archivfehlers, aber immer noch korrekt extrahiert.


2
Sehr froh, dass ich Sie auf Ihren Weg hinweisen konnte!
JM Becker

Leider dauert bzip2 -tv ungefähr so ​​lange wie die Dekomprimierung. Ich wünschte, es gäbe eine Möglichkeit, möglicherweise abgeschnittene Dateien schneller zu testen

1
Anstatt die .tar.bz2Datei zu extrahieren , können Sie zusätzlich auch tarden -jSchalter verwenden tvfW, der (in einer ausreichend aktuellen Version) bzip2-Dateien direkt lesen kann
Tobias Kienzler

@TobiasKienzler, Sie haben absolut Recht, wenn Sie Teeroptionen zusammen verwenden, es ist schneller und es war auch mein erster Gedanke ... Aber da das OP mit seinen Komprimierungsoptionen etwas "unkonventionell" war, dachte ich, dass es am besten ist Überprüfen Sie zusätzlich die bzip2-Komprimierung. Da das Kombinieren der Optionen den Teer spezifisch verifizieren würde, würde das Dekomprimieren des bzip2, vorausgesetzt, seine Komprimierung sei bereits gültig.
JM Becker

@TobiasKienzler, aber ja, wenn es nur um den Teer selbst geht, ist der zusätzliche Schritt unnötig. Also habe ich + 1 Ihren Kommentar abgegeben, da dies normalerweise die bevorzugte Aktion ist.
JM Becker

-2

Zusätzlich zu den oben genannten Lösungen können Sie immer Rohre mit Teer verwenden:

pbzip2 -dc FILE.tar.bz2 | tar -tvfW -

1
Warum das Downvote? Bitte erklären Sie ...
Sekmo
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.