マルチスレッドを使用してtar.xzを生成および抽出する方法

マルチスレッドを使用してtar.xzを生成および抽出する方法

私は使う

tar-cJvf結果ファイル.tar.xz 圧縮するファイル

作成しtar.xz

tar-xzvf結果ファイル.tar.xz

アーカイブを現在のディレクトリに抽出します。どちらの場合も、マルチスレッドを使用する方法は?ユーティリティをインストールしたくありません。

ベストアンサー1

tar -c -I 'xz -9 -T0' -f archive.tar.xz [list of files and folders]

これにより、ファイルとディレクトリのリストが.tar.xzアーカイブに圧縮されます。xz子プロセスに渡されるパラメータを指定してtarアーカイブを圧縮します。

これは、tarアーカイブを圧縮するために使用するプログラムと、それに渡す引数を示す-Itarの引数を使用して行われます。tar最大圧縮を使用することを示します-9xzCPUと同じスレッドを使用することを示します-T0xz


2024年1月の更新:

マルチスレッドオプションを使用しても、xz2つ以上のスレッドで拡張がほとんど不可能で、圧縮/圧縮解除のパフォーマンスが比較的低いです。

私はそれを使用することをお勧めしますZSTD。コマンドは次のとおりです。

tar -c -I 'zstd -22 --ultra --long -T0' -f archive.tar.xz [list of files and folders]

指示:

  • このコマンドには少なくとも5GBのRAMが必要です。圧縮レベルを下げるか、ultra/longオプションを削除してRAMの消費を減らすことができます。
  • ソースデータが十分でない場合(1 GB未満)、スレッドを使用できない可能性があります。それでも少量のデータにスレッドを使用するには、圧縮レベルを22から20に下げます。

おすすめ記事