Com comprimir fitxers més ràpidament amb l'eina Pigz a Linux


Escrit per Mark Adler, Pigz és l'acrònim de Parallel Implementation of GZip. És una enginyosa eina de compressió que us ajuda a comprimir fitxers amb velocitats molt ràpides. Com a millora de la bona vella utilitat gzip, aprofita diversos nuclis i processadors per comprimir dades.

Aquesta guia il·lumina més Pigz i us explica com utilitzar la utilitat per comprimir fitxers en sistemes Linux.

Instal·lació de Pigz en sistemes Linux

La instal·lació de Pigz és un passeig pel parc perquè el paquet Pigz es troba als dipòsits oficials de distribucions principals com Debian i CentOS.

Podeu instal·lar Pigz en una sola ordre en diverses distribucions utilitzant els seus respectius gestors de paquets de la manera següent.

$ 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

Com comprimir fitxers amb Pigz

Per comprimir un únic fitxer en un format zip, utilitzeu la sintaxi.

$ pigz filename

En aquesta guia, utilitzarem el fitxer ubuntu-20.04-beta-desktop-amd64.iso amb finalitats de demostració. Per comprimir el fitxer executeu:

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

Tanmateix, l'ordre suprimeix el fitxer original després de la compressió, tal com haureu notat. Per conservar el fitxer original després de la compressió, executeu l'opció -k tal com es mostra.

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

Des de la sortida, podem veure clarament que el fitxer original s'ha conservat fins i tot després de la compressió.

Comproveu el contingut del fitxer comprimit a Linux

Per comprovar el contingut del fitxer comprimit, incloses les estadístiques sobre la relació de compressió aconseguida, utilitzeu l'opció -l amb l'ordre pigz:

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

Des de la sortida, no només podreu veure el contingut del fitxer comprimit sinó també el percentatge de compressió que en aquest cas és de l'1,9%.

A més, podeu utilitzar diversos nivells de compressió que existeixen de l'1 al 9. S'admeten els nivells de compressió següents:

  • 6 – Compressió per defecte.
  • 1: el més ràpid però ofereix la menor compressió.
  • 9: la compressió més lenta però la millor.
  • 0: sense compressió.

Per exemple, per comprimir el fitxer amb el millor nivell de compressió, executeu:

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

Com comprimir un directori amb Pigz

Per si mateix, Pigz no té opcions per comprimir una carpeta, només comprimeix fitxers únics. Com a solució alternativa, pigz s'utilitza juntament amb l'ordre tar per comprimir directoris.

Per comprimir un directori, utilitzeu l'argument --use-compress-program tal com es mostra:

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

Com limitar el nombre de processadors mentre es comprimeix

Hem esmentat anteriorment que l'eina d'utilitat pigz utilitza diversos nuclis i processadors quan comprimeixen fitxers. Podeu especificar el nombre de nuclis que s'utilitzaran utilitzant l'opció -p.

En aquest exemple, a continuació, hem utilitzat la millor compressió (indicada per -9) amb 4 processadors (-p4) tot conservant el fitxer original (-k).

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

Com descomprimir fitxers amb Pigz

Per descomprimir un fitxer o directori amb pigz, utilitzeu l'opció -d o l'ordre unpigz.

Utilitzant el nostre fitxer ISO comprimit, l'ordre serà:

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

Comparació entre Pigz i Gzip

Vam anar una mica més enllà i vam enfrontar Pigz amb l'eina Gzip.

Aquests són els resultats:

$ 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

A partir de la comparació, podem veure clarament que els temps de compressió i descompressió de Pigz són molt més curts que Gzip. Això implica que l'eina de línia d'ordres Pigz és molt més ràpida que l'eina Gzip

Per obtenir més detalls sobre l'ús de l'ordre pigz, visiteu les pàgines de manual.

$ man pigz

A més, executeu l'ordre següent per veure totes les opcions disponibles per utilitzar-les amb l'ordre pigz.

$ pigz --help

I aquí ho tens. Hem cobert l'eina de línia d'ordres pigz i us hem mostrat com podeu comprimir i descomprimir fitxers. Vam anar més enllà i vam comparar Pigz amb Gzip i vam descobrir que Pigz és el millor dels dos en termes de velocitat tant de compressió com de descompressió. Et convidem a provar-ho i explicar-nos com ha anat.