nice と tar を使用した圧縮レベルの設定

nice と tar を使用した圧縮レベルの設定

ここで圧縮レベルを設定するには?

nice -n 19 tar -czf $out $in

答え1

nice圧縮レベルでは何もしません。カーネルのプロセススケジューリングにのみ影響します。以下のすべてのコマンドは、異なる「良い」レベルで実行するためにプレフィックスを付けることができます。niceこれは、圧縮レベルに影響を与えずに操作を実行するのにかかる時間にのみ影響します(システム負荷が激しい場合)。

GNUを使用している場合は、tar次のオプションを使用してコンプレッサーを設定できます。-I--use-compress-program

$ tar -I "gzip --best" -c -f archive.tar.gz dir

または

$ tar --use-compress-program="gzip --best" -c -f archive.tar.gz dir

-zコンプレッサーが明示的に設定されている場合は、このオプションを使用しないでください。

GNUのマニュアルでは、圧縮されたアーカイブを解凍するためにこれらのオプションを使用する場合、使用されるプログラムは解凍オプションをサポートするtar必要があると述べています。-dgzip

私が知っている限り、BSDではtar同様の方法で圧縮レベルを指定することは不可能です。

これを達成する別の方法は、圧縮されていないアーカイブを作成し、必要に応じて圧縮することです。

$ tar -c -f archive.tar dir
$ gzip --best archive.tar

または

$ tar -c dir | gzip --best -o archive.tar.gz

しかし、その他これを行う方法は、環境変数をGZIP渡すフラグに設定することですgzip

$ export GZIP='--best'
$ tar -c -z -f archive.tar.gz dir

最後のいくつかの選択肢は-I--use-compress-programtar

関連情報