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.