圧縮したい類似の大きなファイル(それぞれ30メガバイト)が何百もあります。ファイルのすべてのペアには、99%の同じデータ(1%未満の差)があるため、40〜50メガバイトを超えるアーカイブはないはずです。
単一ファイルは(と13〜15メガバイトに30メガバイトから圧縮することができxz -1
、gz -1
、bzip2 -1
)、2つの以上のファイルを圧縮するとき、私はサイズのアーカイブを持ちたい13-15MB + N*0.3MB
Nは、ファイルの数です。
使用している場合tar
(ソリッドアーカイブを作成する)とxz -6
( - 1つのファイルよりも大きくなるように圧縮辞書を定義するアップデート! -これは十分ではなかった)、私はまだサイズのアーカイブを持っていますN*13MB
。
辞書は1 MB未満であり、私のtarストリームは30 MBごとに繰り返しているため、両方とも私には役に立たないgzip
と思いますbzip2
。
標準ツールを使用して現代のLinuxで問題をアーカイブするにはどうすればよいですか?
xz
高速に圧縮するように調整することは可能ですが、30〜60 MBより大きい辞書を使用しますか?
更新:tar c input_directory | xz --lzma2=dict=128M,mode=fast,mf=hc4 --memory=2G > compressed.tar.xz
。の必要性mf=hc4
と--memory=2G
オプションについてはわかりません。ただしdict=128M
、辞書を十分に大きく(1つのファイルよりも大きく)設定し、mode=fast
プロセスを-e
。
xz -1 --memory=2G
は役に立たず、セットの2つと4つのファイルでテストされました。