В следващата статия ще разгледаме pigz. Това е многонишкова реализация на gzip, която ще ни позволи компресиране на файлове за много кратко време. Този инструмент ни предлага още една опция за компресия, тъй като дори едно от най-бързите решения за архивиране / компресиране, като gzip, има малък проблем и това е, че не поддържа множество процесори / ядра. Това означава, че ако разполагаме с относително нов компютър, той няма да се възползва от всички свои възможности.
Pigz, което означава паралелно gzip изпълнение, е напълно функционален заместител на gzip, който експлоатира множество процесори и множество ядра при компресиране на данни. Pigz е написана от Марк Адлер и използва библиотеки Zlib и pthread.
Pigz компресира с помощта на нишки, за да използва множество процесори и ядра. Всеки е разделен на парчета от 128 KB. Всеки от тях и индивидуалната контролна стойност за всеки отрязък се изчисляват паралелно. Компресираните данни се записват за изхода и комбинираната контролна стойност се изчислява от отделните контролни стойности.
Pigz инсталация на Ubuntu
за инсталирайте pigz на Ubuntu, Mint и други Debian-съвместими дистрибуции, ще трябва само да отворим терминал (Ctrl + Alt + T) и да използваме командата:
sudo apt install pigz
Основно използване на pigz
Компресирайте един файл
за компресирайте всеки файл във формат GNU цип с pigz, ще трябва да го използваме само по следния начин:
pigz NOMBRE_DEL_ARCHIVO
За някои може да е проблем, който по подразбиране pigz изтрива оригиналния файл след компресиране. Ако искате да го запазите, трябва използвайте превключвателя -k както следва:
pigz -k NOMBRE_DEL_ARCHIVO
Pigz поддържа множество нива на компресия, и това ще ни позволи да изберем между тях, като посочим техния номер след тире. Пример за това би бил:
pigz -9 -k NOMBRE_DEL_ARCHIVO
Можем да използваме числа от 1 до 9. С „1“ ще постигнем по-бърза производителност, но с най-ниска компресия и с „9“ ще получим най-бавната, но най-висока компресия.
Компресиране на папки
Pigz има значително ограничение и то е, че не поддържа папки. Ще можем да компресираме файлове само поотделно. Въпреки че можем да намерим алтернативно решение, което е да го използваме заедно катран.
Ако искахме да компресираме папката 'пари', и тъй като tar поддържа използването на програми за външно компресиране, бихме могли да направим нещо като следното:
tar --use-compress-program="pigz -k -9" -cf Fondos.tar.gz Fondos/
В горната команда, tar –use-компресиране-програма установява това Въпреки че ще създаде файл с катран, компресирането на съдържанието му ще стане чрез външна програма, в този случай pigz. Тази външна програма и нейните параметри са дефинирани с частта pigz-k-9 на командата. Накрая ще посочим, че искаме да създадем файл, използвайки '-ср', Наречен'Backgrounds.tar.gz„с всичко в папката“Пари/'.
Разархивирайте файлове и папки
Разархивирайте всеки .gz файл с pigz това е толкова просто, колкото да въведете някоя от следните команди:
pigz -d NOMBRE_DEL_ARCHIVO.gz unpigz NOMBRE_DEL_ARCHIVO.gz
В създадения преди това файл с папка с разширението tar.gz, декомпресия на папка използва същия подход "катран', което използваме за компресия:
tar --use-compress-program="pigz -d" -xvf NOMBRE_CARPETA.tar.gz
Ограничаване на паралелизма
Pigz, по подразбиране използва всички процесори / ядра на компютъра. Когато компресирате големи масиви от данни, това може да повлияе на реакцията на вашия компютър.
С опцията p можем да ограничим използването до определен брой процесори / ядра. Това ще остави останалите безплатни за другите ви задачи и интерактивност. За да направите това, просто трябва да добавите броя на процесорите / ядрата, както следва:
pigz -k -p2 NOMBRE_DEL_ARCHIVO
-p2 ограничава pigz да използва само два процесора / ядра. Можем да използваме произволно число и дори да е очевидно, важно е този номер да се поддържа в рамките на нашия хардуер.
За повече информация потребителите могат погледнете файла README или прочетете страницата на ръководство за употреба от pigz.