definir o nível de compactação com nice e tar

definir o nível de compactação com nice e tar

Como definir o nível de compressão aqui?

nice -n 19 tar -czf $out $in

Responder1

nicenão fará nada no nível de compactação. Isso afetará apenas o agendamento do processo pelo kernel. Todos os comandos abaixo podem ser prefixados com nicepara executá-los em um nível "legal" diferente, isso não influenciará o nível de compactação, apenas o tempo necessário para executar a ação (se o sistema estiver sob carga pesada).

Se você estiver usando GNU tar, o programa de compactação poderá ser configurado com as opções -Iou :--use-compress-program

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

ou

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

Observe que a -zopção não deve ser usada se você definir explicitamente o programa de compactação.

O manual GNU tarafirma que o programa usado deve suportar uma -dopção de descompactação (se você usar essas opções para descompactar um arquivo compactado), o que gzipsuporta.

Com o BSD tarnão é possível especificar o nível de compressão de forma semelhante, pelo que vi.

A outra maneira de conseguir isso é obviamente criar um arquivo não compactado e depois compactá-lo da maneira desejada:

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

ou

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

AindaoutroA maneira é definir a GZIPvariável de ambiente para os sinalizadores para os quais você gostaria de passar gzip:

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

Exceto pelo uso de -Ie --use-compress-program, as últimas alternativas funcionam tanto com GNU quanto com BSD tar.

informação relacionada