Hvordan komprimere filer raskere med Pigz Tool i Linux


Skrevet av Mark Adler, Pigz er et akronym for Parallell Implementering av GZip. Det er et pent komprimeringsverktøy som hjelper deg med å komprimere filer med lynraske hastigheter. Som en forbedring av det gode gamle gzip-verktøyet, utnytter det flere kjerner og prosessorer for å komprimere data.

Denne veiledningen skinner mer lys på Pigz og tar deg gjennom hvordan du bruker verktøyet til å komprimere filer i Linux-systemer.

Installere Pigz på Linux-systemer

Å installere Pigz er en tur i parken fordi pakken Pigz finnes i offisielle arkiver for store distribusjoner som Debian og CentOS .

Du kan installere Pigz i en enkelt kommando i forskjellige distribusjoner ved å bruke deres respektive pakkeadministratorer som følger.

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

Hvordan komprimere filer med Pigz

For å komprimere en enkelt fil til et zip-format, bruk syntaksen.

pigz filename

I denne veiledningen vil vi bruke filen ubuntu-20.04-beta-desktop-amd64.iso til demonstrasjonsformål. For å komprimere filen kjør:

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

Kommandoen sletter imidlertid den originale filen ved komprimering, som du kanskje har lagt merke til. For å beholde den opprinnelige filen etter komprimering, kjør bruk -k-alternativet som vist.

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

Fra utdataene kan vi tydelig se at den originale filen har blitt beholdt selv etter komprimering.

Sjekk innholdet i komprimert fil i Linux

For å sjekke innholdet i den komprimerte filen, inkludert statistikken over oppnådd komprimeringsforhold, bruk -l-alternativet med pigz-kommandoen:

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

Fra utdataene får du ikke bare se innholdet i den zippede filen, men også prosentandelen av komprimering som i dette tilfellet er 1,9 %.

I tillegg kan du bruke ulike komprimeringsnivåer som finnes fra 1 til 9. Følgende komprimeringsnivåer støttes:

  • 6 – Standardkomprimering.
  • 1 – Raskest, men gir minst komprimering.
  • 9 – Den tregeste, men den beste komprimeringen.
  • 0 – Ingen komprimering.

For eksempel, for å komprimere filen med det beste komprimeringsnivået, kjør:

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

Hvordan komprimere en katalog med Pigz

I seg selv har ikke Pigz alternativer for å komprimere en mappe, den komprimerer bare enkeltfiler. Som en løsning brukes pigz i forbindelse med tar-kommando for å zippe kataloger.

For å komprimere en katalog, bruk --use-compress-program-argumentet som vist:

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

Slik begrenser du antall prosessorer mens du komprimerer

Vi nevnte tidligere at pigz-verktøyet bruker flere kjerner og prosessorer når filer komprimeres. Du kan spesifisere antall kjerner som skal brukes ved å bruke -p-alternativet.

I dette eksemplet nedenfor har vi brukt den beste komprimeringen (angitt med -9) med 4 prosessorer (-p4) mens vi har beholdt originalen fil (-k).

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

Hvordan dekomprimere filer med Pigz

For å dekomprimere en fil eller katalog ved hjelp av pigz, bruk -d-alternativet eller unpigz-kommandoen.

Ved å bruke vår komprimerte ISO-fil vil kommandoen være:

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

Sammenligning mellom Pigz vs Gzip

Vi gikk litt lenger og satte Pigz mot Gzip-verktøyet.

Her er resultatene:

Gzip-komprimering

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

Pigz-komprimering

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

Gzip-dekompresjon

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

Pigz dekompresjon

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

Fra sammenligningen kan vi tydelig se at komprimerings- og dekompresjonstider for Pigz er mye kortere enn Gzip. Dette innebærer at Pigz-kommandolinjeverktøyet er mye raskere enn Gzip-verktøyet

For mer informasjon om bruken av kommandoen pigz, besøk man-sidene.

man pigz

Videre, kjør kommandoen nedenfor for å se alle alternativene som er tilgjengelige for bruk med kommandoen pigz.

pigz --help

Og der har du det. Vi har dekket pigz kommandolinjeverktøyet og vist deg hvordan du kan komprimere og dekomprimere filer. Vi gikk videre og sammenlignet Pigz med Gzip og fant ut at Pigz er den beste av de to når det gjelder hastighet på både komprimering og dekompresjon. Vi inviterer deg til å prøve det og fortelle oss hvordan det gikk.