Kako brže komprimirati datoteke pomoću Pigz alata u Linuxu


Napisao Mark Adler, Pigz je akronim za Paralelnu implementaciju GZip. To je odličan alat za kompresiju koji vam pomaže da komprimirate datoteke nevjerovatno velikom brzinom. Kao poboljšanje starog dobrog gzip uslužnog programa, on koristi više jezgara i procesora za kompresiju podataka.

Ovaj vodič daje više svjetla na Pigz i vodi vas kroz kako koristiti uslužni program za kompresiju datoteka u Linux sistemima.

Instalacija Pigza na Linux sistemima

Instaliranje Pigza je šetnja parkom jer se paket Pigz nalazi u službenim spremištima za glavne distribucije kao što su Debian i CentOS .

Možete instalirati Pigz u jednoj komandi u različitim distribucijama koristeći njihove odgovarajuće menadžere paketa kako slijedi.

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

Kako komprimirati datoteke sa Pigz-om

Za komprimiranje jedne datoteke u zip format koristite sintaksu.

pigz filename

U ovom vodiču ćemo koristiti datoteku ubuntu-20.04-beta-desktop-amd64.iso u svrhu demonstracije. Za komprimiranje datoteke izvršite:

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

Međutim, naredba briše originalnu datoteku nakon kompresije kao što ste mogli primijetiti. Da biste zadržali originalni fajl nakon kompresije, pokrenite koristite opciju -k kao što je prikazano.

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

Iz izlaza možemo jasno vidjeti da je originalni fajl zadržan čak i nakon kompresije.

Provjerite sadržaj komprimirane datoteke u Linuxu

Za provjeru sadržaja komprimirane datoteke, uključujući statistiku o postignutom omjeru kompresije, koristite opciju -l sa naredbom pigz:

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

Iz izlaza, ne samo da možete vidjeti sadržaj zipovane datoteke, već i postotak kompresije koji je u ovom slučaju 1,9%.

Dodatno, možete koristiti različite nivoe kompresije koji postoje od 1 do 9. Podržani su sljedeći nivoi kompresije:

  • 6 – Zadana kompresija.
  • 1 – Najbrži, ali nudi najmanju kompresiju.
  • 9 – Najsporija, ali najbolja kompresija.
  • 0 – Nema kompresije.

Na primjer, da komprimirate datoteku s najboljim nivoom kompresije, izvršite:

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

Kako komprimirati direktorij sa Pigz-om

Sam po sebi, Pigz nema opcije za komprimiranje foldera, on samo komprimuje pojedinačne fajlove. Kao zaobilazno rešenje, pigz se koristi zajedno sa komandom tar za zip direktorijume.

Za komprimiranje direktorija koristite argument --use-compress-program kao što je prikazano:

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

Kako ograničiti broj procesora tokom kompresije

Ranije smo spomenuli da uslužni alat pigz koristi više jezgara i procesora prilikom komprimiranja datoteka. Možete odrediti broj jezgara koji će se koristiti pomoću opcije -p.

U ovom primjeru, ispod, koristili smo najbolju kompresiju (označenu sa -9) sa 4 procesora (-p4) uz zadržavanje originala fajl (-k).

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

Kako dekomprimirati datoteke koristeći Pigz

Da dekomprimirate datoteku ili direktorij koristeći pigz, koristite opciju -d ili naredbu unpigz.

Koristeći našu komprimiranu ISO datoteku, naredba će biti:

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

Poređenje između Pigza i Gzipa

Otišli smo malo dalje i suprotstavili Pigz protiv Gzip alata.

Evo rezultata:

Gzip kompresija

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

Pigz Compression

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

Gzip dekompresija

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

Pigz Decompression

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

Iz poređenja, možemo jasno vidjeti da su vrijeme kompresije i dekompresije za Pigz mnogo kraće od Gzip-a. Ovo implicira da je Pigz alat na komandnoj liniji mnogo brži od Gzip alata

Za više detalja o korištenju naredbe pigz, posjetite man stranice.

man pigz

Nadalje, pokrenite naredbu ispod da vidite sve opcije dostupne za korištenje sa pigz komandom.

pigz --help

I evo ga. Pokrili smo pigz alat komandne linije i pokazali vam kako možete komprimirati i dekomprimirati datoteke. Otišli smo dalje i uporedili Pigz sa Gzip i otkrili da je Pigz bolji od ta dva u smislu brzine kompresije i dekompresije. Pozivamo vas da probate i kažete nam kako je prošlo.