У наступній статті ми збираємось поглянути на 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 Zip з пігз, нам доведеться лише використовувати його наступним чином:
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-програма використання-стискання констатує, що Хоча він створить файл із tar, стиснення його вмісту буде здійснюватися через зовнішню програму, в даному випадку pigz. Ця зовнішня програма та її параметри визначаються разом із частиною свиня -к -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.