Даже если это одно из самых быстрых доступных решений для архивирования/сжатия, у gzip есть небольшая проблема: он не поддерживает несколько процессоров/ядер. Таким образом, если у вас относительно новый компьютер, он не сможет воспользоваться его возможностями. Свинья — это многопоточная реализация gzip, которая позволяет сжимать файлы в формат GNU zip за гораздо меньшее время. Вот как можно быстрее сжать файлы с помощью pigz.
Установка
Чтобы установить pigz в Ubuntu, Mint и других дистрибутивах, совместимых с Debian, используйте:
sudo apt install pigz
Contents
Установка
сжатие с помощью установки Pigz Apt">В Arch и Manjaro Linux установите его с помощью:
sudo pacman -S pigz
Если вы используете openSUSE, попробуйте:
sudo zypper install pigz
Сжать один файл
Чтобы сжать любой файл в формат GNU Zip с помощью pigz, используйте:
pigz NAME_OF_FILE
Для некоторых может быть проблемой то, что pigz по умолчанию удаляет исходный файл после сжатия. Если вы хотите сохранить его, используйте переключатель -k
(обратите внимание, что он написан строчными буквами).
Сжать один файлpan> NAME_OF_FILE
Pigz поддерживает несколько уровней сжатия, и вы можете выбирать между ними, указав их номер после тире. Например:
pigz -5 FILE_TO_BE_COMPRESSED
Вы можете использовать числа от 1 до 9, где «1» соответствует самой высокой производительности, но наименьшему сжатию, а «9» — самому медленному, но высокому сжатию.
Сжатие папок
У Pigz есть существенное ограничение: он не поддерживает папки. С его помощью вы можете сжимать только отдельные файлы. Обходной путь — использовать его вместе с tar.
Предположим, вы хотите сжать папку «Изображения». Поскольку tar поддерживает использование внешних программ сжатия, вы можете сделать следующее:
tar --use-compress-program="pigz -k -9" -cf pictures.tar.gz Pictures
В приведенной выше команде tar --use-compress-program
указано, что, хотя вы создадите файловый архив с помощью tar, сжатие его содержимого будет происходить с помощью внешней программы.
Читайте также: 15 команд Tar, которые стоит попробовать в Linux
Эта внешняя программа и ее параметры определяются частью pigz -k -9
команды.
Наконец, укажите, что вы хотите создать файл («-cf») с именем «pictures.tar.gz» со всем, что находится в папке «Изоб