Kako hitreje stisniti datoteke z orodjem Pigz v Linuxu


Napisal Mark Adler, Pigz je kratica za Parallel Implementation of GZip. Je izvrstno orodje za stiskanje, ki vam pomaga stisniti datoteke z izjemno hitro hitrostjo. Kot izboljšanje dobrega starega pripomočka gzip uporablja več jeder in procesorjev za stiskanje podatkov.

Ta priročnik osvetli Pigz in vam pokaže, kako uporabljati pripomoček za stiskanje datotek v sistemih Linux.

Namestitev Pigza na sisteme Linux

Namestitev Pigza je sprehod po parku, ker je paket Pigz v uradnih skladiščih za večje distribucije, kot sta Debian in CentOS.

Pigz lahko namestite v en sam ukaz v različne distribucije z ustreznimi upravitelji paketov, kot sledi.

$ 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 stisniti datoteke s Pigz

Če želite eno datoteko stisniti v zip format, uporabite sintakso.

$ pigz filename

V tem priročniku bomo za predstavitvene namene uporabili datoteko ubuntu-20.04-beta-desktop-amd64.iso. Če želite datoteko stisniti:

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

Vendar ukaz ob stiskanju izbriše izvirno datoteko, kot ste morda opazili. Če želite ohraniti izvirno datoteko po stiskanju, zaženite uporabo možnosti -k , kot je prikazano.

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

Iz izhoda lahko jasno razberemo, da je bila izvirna datoteka ohranjena tudi po stiskanju.

Preverite vsebino stisnjene datoteke v Linuxu

Če želite preveriti vsebino stisnjene datoteke, vključno s statističnimi podatki o doseženem razmerju stiskanja, uporabite možnost -l z ukazom pigz:

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

Iz izhoda ne vidite samo vsebine stisnjene datoteke, temveč tudi odstotek stiskanja, ki je v tem primeru 1,9%.

Poleg tega lahko uporabite različne stopnje stiskanja, ki obstajajo od 1 do 9. Podprte so naslednje stopnje stiskanja:

  • 6 - Privzeto stiskanje.
  • 1 - najhitreje, vendar ponuja najmanj stiskanja.
  • 9 - Počasno, a najboljše stiskanje.
  • 0 - brez stiskanja.

Če želite na primer stisniti datoteko z najboljšo stopnjo stiskanja, izvedite:

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

Kako stisniti imenik s Pigz

Pigz sam po sebi nima možnosti za stiskanje mape, stisne samo posamezne datoteke. Kot rešitev se pigz uporablja skupaj z ukazom tar za stiskanje imenikov.

Za stiskanje imenika uporabite argument --use-compress-program , kot je prikazano:

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

Kako omejiti število procesorjev med stiskanjem

Prej smo omenili, da orodje pigz pri stiskanju datotek uporablja več jeder in procesorjev. Z uporabo možnosti -p lahko določite število jeder, ki jih želite uporabiti.

V tem spodnjem primeru smo uporabili najboljše stiskanje (označeno z -9 ) s 4 procesorji (-p4) , medtem ko smo ohranili izvirno datoteko (-k).

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

Kako razstaviti datoteke z uporabo Pigz

Če želite datoteko ali imenik razpakirati z uporabo pigz, uporabite možnost -d ali ukaz unpigz.

Z uporabo naše stisnjene datoteke ISO bo ukaz:

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

Primerjava med Pigz in Gzip

Šli smo še nekoliko dlje in Pigza pomerili z orodjem Gzip.

Tu so rezultati:

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

Iz primerjave jasno vidimo, da so stiskalni in dekompresijski časi za Pigz veliko krajši od Gzip. To pomeni, da je orodje ukazne vrstice Pigz veliko hitrejše od orodja Gzip

Za več podrobnosti o uporabi ukaza pigz obiščite strani z navodili.

$ man pigz

Poleg tega zaženite spodnji ukaz, da si ogledate vse možnosti, ki so na voljo za uporabo z ukazom pigz.

$ pigz --help

In tam imate. Pokrili smo orodje za ukazno vrstico pigz in vam pokazali, kako lahko stisnete in razpakirate datoteke. Šli smo dlje in primerjali Pigz z Gzipom in ugotovili, da je Pigz boljši od obeh glede hitrosti stiskanja in dekompresije. Vabimo vas, da poskusite in nam poveste, kako je šlo.