Ricerca nel sito web

Come comprimere i file più velocemente con lo strumento Pigz in Linux


Scritto da Mark Adler, Pigz è l'acronimo di Parallel Implementation di GZip. È un ingegnoso strumento di compressione che ti aiuta a comprimere i file a velocità incredibilmente elevate. Come miglioramento della buona vecchia utility gzip, sfrutta più core e processori per comprimere i dati.

Questa guida fa più luce su Pigz e ti spiega come utilizzare l'utilità per comprimere file nei sistemi Linux.

Installazione di Pigz su sistemi Linux

Installare Pigz è una passeggiata nel parco perché il pacchetto Pigz è contenuto nei repository ufficiali delle principali distribuzioni come Debian e CentOS .

Puoi installare Pigz con un unico comando in varie distribuzioni utilizzando i rispettivi gestori di pacchetti come segue.

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

Come comprimere file con Pigz

Per comprimere un singolo file in un formato zip utilizzare la sintassi.

pigz filename

In questa guida utilizzeremo il file ubuntu-20.04-beta-desktop-amd64.iso a scopo dimostrativo. Per comprimere il file eseguire:

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

Tuttavia, come potresti aver notato, il comando elimina il file originale al momento della compressione. Per conservare il file originale dopo la compressione, esegui l'utilizzo dell'opzione -k come mostrato.

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

Dall'output possiamo vedere chiaramente che il file originale è stato conservato anche dopo la compressione.

Controlla il contenuto del file compresso in Linux

Per verificare il contenuto del file compresso, comprese le statistiche sul rapporto di compressione raggiunto, utilizzare l'opzione -l con il comando pigz:

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

Dall'output, non solo puoi vedere il contenuto del file zippato ma anche la percentuale di compressione che in questo caso è 1,9%.

Inoltre, puoi utilizzare vari livelli di compressione compresi tra 1 e 9. Sono supportati i seguenti livelli di compressione:

  • 6 – Compressione predefinita.
  • 1 – Il più veloce ma offre la compressione minore.
  • 9 – La compressione più lenta ma migliore.
  • 0: nessuna compressione.

Ad esempio, per comprimere il file con il miglior livello di compressione, esegui:

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

Come comprimere una directory con Pigz

Di per sé, Pigz non ha opzioni per comprimere una cartella, comprime solo singoli file. Come soluzione alternativa, pigz viene utilizzato insieme al comando tar per comprimere le directory.

Per comprimere una directory, utilizza l'argomento --use-compress-program come mostrato:

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

Come limitare il numero di processori durante la compressione

Abbiamo menzionato in precedenza che lo strumento di utilità pigz utilizza più core e processori durante la compressione dei file. Puoi specificare il numero di core da utilizzare utilizzando l'opzione -p.

In questo esempio, di seguito, abbiamo utilizzato la migliore compressione (indicata da -9) con 4 processori (-p4) mantenendo l'originale file (-k).

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

Come decomprimere i file utilizzando Pigz

Per decomprimere un file o una directory usando pigz, usa l'opzione -d o il comando unpigz.

Utilizzando il nostro file ISO compresso, il comando sarà:

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

Confronto tra Pigz vs Gzip

Siamo andati un po' oltre e abbiamo contrapposto Pigz allo strumento Gzip.

Ecco i risultati:

Compressione Gzip

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

Compressione Pigz

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

Decompressione Gzip

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

Decompressione di Pigz

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

Dal confronto si vede chiaramente che i tempi di compressione e decompressione per Pigz sono molto più brevi rispetto a Gzip. Ciò implica che lo strumento da riga di comando Pigz è molto più veloce dello strumento Gzip

Per maggiori dettagli sull'utilizzo del comando pigz, visita le pagine man.

man pigz

Inoltre, esegui il comando seguente per visualizzare tutte le opzioni disponibili per l'uso con il comando pigz.

pigz --help

E il gioco è fatto. Abbiamo trattato lo strumento da riga di comando pigz e ti abbiamo mostrato come comprimere e decomprimere i file. Siamo andati oltre e abbiamo confrontato Pigz con Gzip e abbiamo scoperto che Pigz è il migliore dei due in termini di velocità sia di compressione che di decompressione. Vi invitiamo a provarci e a raccontarci come è andata.