установить уровень сжатия с помощью 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указано, что используемая программа должна поддерживать -dопцию распаковки (если вы используете эти опции для распаковки сжатого архива), что gzipи происходит.

Насколько я знаю , в 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-program, последние несколько альтернатив работают как с GNU, так и с BSD tar.

Связанный контент