tar
〜29GBのファイルを大幅に圧縮し、端末で次のコマンドを使用したいと思います。
tar cvzf file.tar.gz /path/to/directory
〜26GBに圧縮してインターネットで最大圧縮率を見つけて、次のことを行いました。
export GZIP=-9
env GZIP=-9 tar cvzf file.tar.gz /path/to/directory
ただし、tar.gzファイルのサイズは、プロパティに約26GBで表示されます。今回は10GB程度に圧縮されると思います。ここで何か抜けましたか?
答え1
私はデフォルトの組み込み圧縮率を決して使用しません。アンパッカーが数百MBのRAMをxz
収容できることを知っている場合gzip
。
だから私の提案は tar
圧縮されていない出力をパイプすることですxz -9
。
圧縮にはより多くのCPU時間が必要ですが、解凍するとCPU時間が少なくなりますgzip
。テキストファイルの場合、圧縮は25〜30%向上します。
答え2
はい、そうです。
tarが提供する他の圧縮形式を試すこともできます。私のLinuxシステムでは、GNU tarはこれらの多様性を提供します。つまり、gzip -9
29 GB -> 26 GBしか達成できない場合、他の圧縮形式は必要な29 GB -> 10 GBを達成する可能性はありません。
$ tar --help|grep -A16 Compression
Compression options:
-a, --auto-compress use archive suffix to determine the compression
program
-I, --use-compress-program=PROG
filter through PROG (must accept -d)
-j, --bzip2 filter the archive through bzip2
-J, --xz filter the archive through xz
--lzip filter the archive through lzip
--lzma filter the archive through lzma
--lzop
--no-auto-compress do not use archive suffix to determine the
compression program
-z, --gzip, --gunzip, --ungzip filter the archive through gzip
-Z, --compress, --uncompress filter the archive through compress
Local file selection:
$