tar.bz2ファイルの並列解凍を実行するLinuxコマンドはありますか?


17

かなり大きなファイル(〜50GB)があり、実行に時間がかかります

tar xvf file.tar.bz2

その上。私は、bzip2ファイルの並列圧縮を実行できるプログラムを知っていますが、bzip2ファイルの並列解凍を実行できるプログラムを認識していません。

これを達成できるプログラムはありますか?ファイルから抽出するために使用するコマンドの正確な構文は何ですか?

私はubuntu 12.04を使用しています

回答:


22

lbzip2またpbzip2、並列圧縮および圧縮解除に使用できるツールです。

使用法:

lbzip2 -d <file.tar.bz2> 
pbzip2 -d <file.tar.bz2> 

-d オプションは解凍に使用されます。

これらのパッケージをインストールするには:

lbzip2 lbzip2をインストールするタイプ:

sudo apt-get install lbzip2

pbzip2 pbzip2をインストールするタイプ:

sudo apt-get install pbzip2

だから、正しく理解したら、解凍してから解凍する必要がありますか?tar xvf?とは対照的に2つのコマンドが好きですか?
-user784637

1
はい、実行lbzip2 -d -n 2 file.tar.bz2するとtarファイルが生成されます。解凍する必要があります。
devav2

1
pbzip2のmanページから(lbzip2は同様の話をします):「pbzip2で圧縮されたファイルは、pbzip2を使用して圧縮解除した場合もかなり高速になります。bzip2で圧縮されたファイルは、プロセッサ間で分割することはできません。」
タピオ

1
@Tapio lbzip2「複数のスレッドからJulian Sewardのlibbz2を呼び出して、FILEオペランドまたは標準入力を標準ファイルまたは標準出力に圧縮または解凍します。lbzip2ユーティリティは、.bz2ファイルを解凍する場合でも複数のスレッドと入力バインドスプリッターを使用します標準のbzip2で作成されます(ただし、以下のバグを参照してください)。
-devav2

1
答えだけから、私は両方のプログラムを何らかの形で一緒に使用する必要があることを理解します-しかし、実際には代替物のように見えますか?(「lbzip2とpbzip2はツールです...」、「使用法:lbzip2 ... pbzip2 ...」、「これらをインストールする...」)
Volker Siegel

11

tar オプションを使用して、1つのコマンドでアーカイブを圧縮解除-Iできます。この-dオプションをサポートする圧縮ユーティリティを使用できるようになります。

tar -I lbzip2 -xvf <file.tar.bz2>

ターゲットファイルシステム(tar一時ファイルと出力ファイル)で2倍の非圧縮サイズを使用する必要がないため、大きなアーカイブを使用する場合に非常に役立ちます。必要なディスクIOがはるかに少ないため、高速です。

もちろん、圧縮時にも機能します:

tar -I lbzip2 -cvpf <file.tar.bz2> <file>

tar --help他のオプションを確認してください。


1
別のオプション(例えば、「タール」のバージョンが-Iオプションを理解していない場合)があるlbzip2 -dc file.tar.bz2 | tar xvf -
Wodin

5

-d「decompress」フラグを指定してpbzip2を使用できます。

マンページから:

  pbzip2 -d myfile.tar.bz2

この例では、ファイル「myfile.tar.bz2」を圧縮解除されたファイル「myfile.tar」に解凍します。自動検出されたプロセッサ数(または、自動検出がサポートされていない場合は2つのプロセッサ)を使用します。

解凍後、ファイルを展開する必要があります

 tar xf myfile.tar

tarファイルは単なるコンテナであり、複数の圧縮アルゴリズムを適用できます。たとえば、「。tar.gz」または「.tar.bz2」に異なる圧縮アルゴリズムを適用できます。そのため、pbzip2はアーカイブを解凍するだけですが、ファイルを抽出せず、ファイルの抽出に使用tarします。アーカイブは既に圧縮解除されており、ファイルを抽出するだけなので、Tarには時間がかかりません。(tarコマンドで 'z'フラグまたは 'j'フラグを使用していないことに注意してください。これらは、ファイルを解凍することも示しています)


1
マニュアルページにはいくつかの便利な例があります:manpages.ubuntu.com/pbzip2
Savvas Radevic

@サム答えてくれてありがとう-私は他の答えに残したコメントに答えることができますか
-user784637

2

lbzip2は、標準の.bz2ファイルの解凍を高速化することができますが、pbzip2はそれを行いません。(それをテストしただけです-lbzip2で17秒、部分的にロードされたクアッドコアでpbzip2で56秒)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.