web-dev-qa-db-ja.com

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

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

tar xvf file.tar.bz2

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

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

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

17
user784637

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

使用法:

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

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

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

lbzip2Install lbzip2 タイプ:

Sudo apt-get install lbzip2

pbzip2Install pbzip2 タイプ:

Sudo apt-get install pbzip2
21
devav2

Tar -Iオプションを使用して単一コマンドでアーカイブを解凍できます。 -dオプションをサポートする圧縮ユーティリティを使用できるようになります。

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

ターゲットファイルシステムで使用可能な非圧縮サイズを2倍にする必要はありません(tar一時ファイルと出力ファイル)必要に応じて高速ですディスクIOが少ない。

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

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

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

10
Ludovic Ronsin

-dフラグを指定した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'フラグを使用していないことに注意してください。これらは、ファイルを解凍することも示しています)

5
Sam

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

2
Stefan Reich