Поиск по сайту:

Как быстрее сжимать файлы с помощью Pigz Tool в Linux


Написанный Марком Адлером, Pigz — это аббревиатура от Параллельная реализация GZip. Это отличный инструмент сжатия, который поможет вам сжимать файлы с невероятно высокой скоростью. Являясь усовершенствованием старой доброй утилиты gzip, она использует несколько ядер и процессоров для сжатия данных.

Это руководство проливает больше света на Pigz и расскажет, как использовать эту утилиту для сжатия файлов в системах Linux.

Установка Pigz в системах Linux

Установка Pigz — это легкая прогулка, поскольку пакет Pigz содержится в официальных репозиториях основных дистрибутивов, таких как Debian и CentOS. .

Вы можете установить Pigz одной командой в различных дистрибутивах, используя соответствующие менеджеры пакетов, следующим образом.

sudo apt install pigz  [On Debian/Ubuntu]
sudo dnf install pigz  [On CentOS/RHEL/Fedora]
sudo pacman -S pigz    [On Arch/Manjaro Linux] 
OR
yay -S pigz

Как сжать файлы с помощью Pigz

Чтобы сжать один файл в формат zip, используйте синтаксис.

pigz filename

В этом руководстве мы будем использовать файл ubuntu-20.04-beta-desktop-amd64.iso в демонстрационных целях. Чтобы сжать файл, выполните:

pigz ubuntu-20.04-beta-desktop-amd64.iso

Однако, как вы могли заметить, команда удаляет исходный файл при сжатии. Чтобы сохранить исходный файл после сжатия, запустите параметр -k, как показано.

pigz -k ubuntu-20.04-beta-desktop-amd64.iso

Из вывода мы ясно видим, что исходный файл сохранился даже после сжатия.

Проверьте содержимое сжатого файла в Linux

Чтобы проверить содержимое сжатого файла, включая статистику достигнутой степени сжатия, используйте опцию -l с командой pigz:

pigz -l ubuntu-20.04-beta-desktop-amd64.iso.gz

Из выходных данных вы увидите не только содержимое заархивированного файла, но и процент сжатия, который в данном случае составляет 1,9%.

Кроме того, вы можете использовать различные уровни сжатия: от 1 до 9. Поддерживаются следующие уровни сжатия:

  • 6 – сжатие по умолчанию.
  • 1 – самый быстрый, но обеспечивает наименьшее сжатие.
  • 9 – самое медленное, но лучшее сжатие.
  • 0 – без сжатия.

Например, чтобы сжать файл с наилучшим уровнем сжатия, выполните:

pigz -9 ubuntu-20.04-beta-desktop-amd64.iso

Как сжать каталог с помощью Pigz

Сам по себе Pigz не имеет возможности сжимать папку, он сжимает только отдельные файлы. В качестве обходного пути для архивирования каталогов используется pigz в сочетании с командой tar.

Чтобы сжать каталог, используйте аргумент --use-compress-program, как показано:

tar --use-compress-program="pigz -k " -cf dir1.tar.gz dir1

Как ограничить количество процессоров при сжатии

Ранее мы упоминали, что служебная программа pigz использует несколько ядер и процессоров при сжатии файлов. Вы можете указать количество используемых ядер с помощью опции -p.

В приведенном ниже примере мы использовали лучшее сжатие (обозначенное -9) с 4 процессорами (-p4), сохранив при этом исходный код. файл (-k).

pigz -9 -k -p4 ubuntu-20.04-beta-desktop-amd64.iso

Как распаковать файлы с помощью Pigz

Чтобы распаковать файл или каталог с помощью pigz, используйте параметр -d или команду unpigz.

Используя наш сжатый файл ISO, команда будет такой:

pigz -d ubuntu-20.04-beta-desktop-amd64.iso
OR
unpigz dir1.tar.gz

Сравнение Pigz и Gzip

Мы пошли немного дальше и противопоставили Pigz инструменту Gzip.

Вот результаты:

Gzip-сжатие

time gzip ubuntu-20.04-beta-desktop-amd64.iso

Сжатие свиней

time pigz ubuntu-20.04-beta-desktop-amd64.iso

Gzip-декомпрессия

time gzip -d ubuntu-20.04-beta-desktop-amd64.iso.gz

Декомпрессия свиньи

time unpigz ubuntu-20.04-beta-desktop-amd64.iso.gz

Из сравнения мы ясно видим, что время сжатия и распаковки для Pigz намного короче, чем для Gzip. Это означает, что инструмент командной строки Pigz работает намного быстрее, чем инструмент Gzip.

Более подробную информацию об использовании команды pigz можно найти на страницах руководства.

man pigz

Кроме того, запустите команду ниже, чтобы просмотреть все параметры, доступные для использования с командой pigz.

pigz --help

И вот оно. Мы рассмотрели инструмент командной строки pigz и показали, как сжимать и распаковывать файлы. Мы пошли дальше и сравнили Pigz с Gzip и обнаружили, что Pigz является лучшим из двух с точки зрения скорости сжатия и распаковки. Мы приглашаем вас попробовать и рассказать нам, как все прошло.