Frage So dekomprimieren Sie eine .bz2-Datei


Ich habe eine Datei als: filename.bz2 Ich muss dekomprimieren.

Ich habe den Befehl ausprobiert: tar xvjf filename.tar.bz2, aber es hat nicht funktioniert, da die Datei nicht ein tar Datei.

Wie dekomprimiere ich diese Datei?


312
2017-09-28 19:40


Ursprung




Antworten:


Versuche Folgendes:

bzip2 -d filename.bz2

Beachten Sie, dass mit diesem Befehl die ursprüngliche Archivdatei nicht beibehalten wird.

Um das ursprüngliche Archiv beizubehalten, fügen Sie das hinzu -k Möglichkeit:

bzip2 -dk filename.bz2

413
2017-09-28 19:42



Sie können auch bunzip2 verwenden, das standardmäßig die Option -d (dekomprimieren) verwendet. - RonaldB
@LewisDiamond Ich lief bzip2 -d vim-8.0.tar.bz2, das ergibt vim-8.0.tar. Ich konnte das nicht betreten. - alhelal
@alhelal das ist, weil es eine .tar.bz2 Datei ist. Du hast den Tarball entpackt, du hast noch den entpackten Tarbal übrig. Extrahiere es mit tar -x vim-8.0.tar. Du hättest ursprünglich verwenden können tar -xjvf vim-8.0.tar.bz2. - Lewis Diamond
Eine leichte Korrektur zu Lewis Kommentar, Tear benötigt auch -f (zumindest auf Raspian Wheezy) wie folgt tar -xf vim-8.0.tar - JulianHarty


Nur um ein bisschen weiter zu erklären, kann eine einzelne Datei mit komprimiert werden bzip2 so:

bzip2 myfile.txt

tar wird nur benötigt, wenn mehrere Dateien komprimiert werden:

tar cvjf myfile.tar.bz *.txt

Daher beim Dekomprimieren a .bz2 Datei verwenden bunzip, wenn a tar.bz2 Datei verwenden tar xjvf.


59
2017-09-28 19:49



Exzellente Beratung über den xjvf, rettete mich gerade. Vielen Dank! - Edgar Aroutiounian
Du kannst es einfach benutzen tar xjf filename.tar.bz2. Das v fügt nur eine ausführliche Ausgabe hinzu. Halten Sie Ihr Terminal sauber! Ich hatte auch Probleme beim Laufen tar -xjf, also versuch es zu versuchen, ohne es auszuführen - - MrOodles
tar xf sollte ausreichen mit der BSD-Variante - der j Flag wird nur beim Komprimieren verwendet - Mark Fox


Benutze die bunzip2 (oder bzip2 -d) Befehl zum Dekomprimieren der Datei. Weitere Informationen finden Sie hier Man Seite,


21
2017-09-28 19:42





bzip2 ist mono-threaded, was bedeutet, dass es lange dauert, eine große Datei zu dekomprimieren.

Dekomprimieren a .bz2 multithreaded, können Sie das kostenlose Open-Source-Programm verwenden lbzip2:

sudo apt-get install lbzip2
lbzip2 -d my_file.bz2

-d zeigt an, dass Sie die Datei dekomprimieren möchten. Es würde automatisch bestimmen, wie viele Threads es verwenden wird. Um die genaue Anzahl der Threads anzugeben, die Sie verwenden möchten, verwenden Sie die -n Parameter, z.B.

lbzip2 -d -n 32 my_file.bz2

Ein paar mehr nützliche Befehle mit lbzip2:

So komprimieren Sie einen Ordner:

tar -c -I lbzip2 -f file.tar.bz2 folder_name

So dekomprimieren Sie einen Ordner:

 tar -I lbzip2 -xvf file.tar.bz2

Parameter:

-I, --use-compress-program PROG
      filter through PROG (must accept -d)
-x, --extract, --get
      extract files from an archive
-v, --verbose
      verbosely list files processed
-f, --file ARCHIVE
      use archive file or device ARCHIVE

Einige Alternativen zum Dekomprimieren a .bz2 Datei multithreaded:

pbzip2:

sudo apt-get install pbzip2
pbzip2 -d my_file.bz2

mpibzip2: Entwickelt für die Verwendung auf Cluster-Computern.


Wenn Sie etwas großes brauchen .bz2 Dateien zum Experimentieren mit: https://dumps.wikimedia.org/mirrors.html

Zum Beispiel (ein 14 GB .bz2 Datei, 200 GB unkomprimiert):

wget http://dumps.wikimedia.your.org/wikidatawiki/20170120/wikidatawiki-20170120-pages-articles-multistream.xml.bz2 
lbzip2 -d -n 32 wikidatawiki-20170120-pages-articles-multistream.xml.bz2 

http://vbtechsupport.com/1614/ hat den Benchmark gemacht:

enter image description here


Für weitere Informationen zu den Parametern für lbzip2: http://explainshell.com/explain?cmd=lbzip2+-d+-n+32+mein_datei.bz2 :

enter image description here


6
2018-01-25 18:50





bzip2 -dc my_file.tar.bz2 | tar xvf -

hat auf Cygwin für mich gearbeitet


3
2018-05-21 11:12



Es wäre hilfreich, wenn Sie Ihrer Antwort ein paar Sätze hinzufügen könnten, um zu erklären, was sie tut. - fixer1234
@ Fixer1234 ‚-c‘ Option kopiert die dekomprimiert Ausgabe auf STDOUT, die dann auf tar-Utility geleitet wird und als Dateiname verwendet präsentiert ‚-‘, so dass Sie es so vereinfachen kann: bzip2 -d my_file.tar.bz2 ; tar xvf my_file.tar - sactiw
Ich glaube, auch das sollte funktionieren bzip2 -dc my_file.tar.bz2 | tar xv d. h. es ist nicht notwendig, die Option -f und das entsprechende Zeichen '-' zu verwenden, da tar direkt von STDOUT über den Pipe-Operator lesen kann. Sie können auch die Option -v ablehnen, wenn Sie keine Dateien auflisten möchten, die gerade verarbeitet werden. - sactiw
Das hilft nicht, da das Original-Poster bereits erwähnt hat, dass es kein a tar Archiv. - icedwater


  1. Gehe zu https://cloudconvert.com.
  2. Laden Sie die Datei hoch.
  3. Konvertieren Sie es in eine TAR-Datei.
  4. Lade es herunter.
  5. Entpacken Sie es von dort in Ihrem Terminal.

-3
2018-01-14 13:57



Ist nicht für wirklich große Dateien geeignet! - narendranathjoshi
Wir sind Superuser. Wir wollen eine terminalbasierte Lösung. - noɥʇʎԀʎzɐɹƆ