Ich habe eine ziemlich große Datei (~ 50 GB) und die Ausführung dauert einige Zeit
tar xvf file.tar.bz2
darauf. Mir sind Programme bekannt, die parallele Komprimierung für bzip2-Dateien ausführen können, aber mir sind keine Programme bekannt, die parallele Dekomprimierung für bzip2-Dateien ausführen können.
Gibt es Programme, die dies erreichen können? Wie lautet die genaue Syntax des Befehls, der zum Extrahieren aus der Datei verwendet werden soll?
Ich benutze Ubuntu 12.04
tar
compression
gzip
bzip2
user784637
quelle
quelle
tar xvf
?lbzip2 -d -n 2 file.tar.bz2
, wird es eine TAR-Datei geben. Welches muss ungeteert sein.lbzip2
"Komprimieren oder Dekomprimieren von FILE-Operanden oder Standardeingaben in reguläre Dateien oder Standardausgaben durch Aufrufen von Julian Sewards libbz2 aus mehreren Threads. Das Dienstprogramm lbzip2 verwendet mehrere Threads und einen eingabebundenen Splitter, auch wenn .bz2-Dateien dekomprimiert werden erstellt von Standard bzip2 (aber siehe BUGS unten). "Mit der Option tar können Sie Ihr Archiv mit einem einzigen Befehl dekomprimieren
-I
. Sie können jedes Komprimierungsprogramm verwenden, das diese-d
Option unterstützt .Dies ist beim Deaktivieren von großen Archiven sehr nützlich, da nicht die doppelte unkomprimierte Größe des Zieldateisystems (die temporäre Tar-Datei und die Ausgabedatei) zur Verfügung stehen muss. Es ist auch schneller, da Sie weitaus weniger Festplatten-E / A benötigen.
Das funktioniert natürlich auch beim Komprimieren:
Prüfen Sie, ob
tar --help
weitere Optionen verfügbar sind.quelle
lbzip2 -dc file.tar.bz2 | tar xvf -
Sie können pbzip2 mit dem
-d
Flag "dekomprimieren" verwenden,von der manpage:
In diesem Beispiel wird die Datei "myfile.tar.bz2" in die dekomprimierte Datei "myfile.tar" dekomprimiert. Es wird die automatisch erkannte Anzahl von Prozessoren verwendet (oder 2 Prozessoren, wenn die automatische Erkennung nicht unterstützt wird).
Nach dem Dekomprimieren müssen Sie die Datei mit entpacken
Eine TAR-Datei ist nur ein Container, auf den Sie mehrere Komprimierungsalgorithmen anwenden können. Sie können beispielsweise eine ".tar.gz" oder eine ".tar.bz2" haben, auf die beide unterschiedliche Komprimierungsalgorithmen angewendet werden. Pbzip2 dekomprimiert also nur das Archiv, extrahiert aber nicht die Dateien. Verwenden Sie pbzip2, um die Dateien
tar
zu extrahieren. Tar sollte nicht lange dauern, da das Archiv bereits dekomprimiert ist und nur die Dateien extrahiert. (Beachten Sie, dass wir im Befehl tar weder das Flag 'z' noch das Flag 'j' verwenden, was darauf hinweist, dass wir die Datei auch dekomprimieren möchten.)quelle
lbzip2 scheint in Ihrem Fall viel besser zu sein als pbzip2, da es in der Lage ist, die Dekomprimierung von Standard-.bz2-Dateien zu beschleunigen, während pbzip2 dies nicht tut. (Gerade getestet - 17 Sekunden für lbzip2 vs 56 Sekunden für pbzip2 auf einem teilweise geladenen Quad-Core).
quelle