Nel prossimo articolo daremo uno sguardo a pigz. Questo è un'implementazione gzip multithread che ci permetterà comprimere i file in brevissimo tempo. Questo strumento ci offre un'ulteriore opzione per la compressione, poiché anche una delle soluzioni di archiviazione / compressione più veloci disponibili come gzip, ha un piccolo problema e cioè che non supporta più processori / core. Ciò significa che se abbiamo un PC relativamente nuovo, non trarrà vantaggio da tutte le sue capacità.
Pigz, che sta per implementazione parallela di gzip, è un sostituto completamente funzionale per gzip, che sfrutta più processori e più core durante la compressione dei dati. Pigz è stato scritto da Mark Adler e utilizza le librerie zlib e pthread.
Pigz comprime utilizzando thread per utilizzare più processori e core. Ciascuno è diviso in pezzi di 128 KB. Ciascuno di essi e il valore di controllo individuale per ciascuna fetta vengono calcolati in parallelo. I dati compressi vengono scritti in ordine per l'output e il valore di controllo combinato viene calcolato dai singoli valori di controllo.
Installazione di Pigz su Ubuntu
a installa pigz su Ubuntu, Mint e altre distribuzioni compatibili con Debian, dovremo solo aprire un terminale (Ctrl + Alt + T) e utilizzare il comando:
sudo apt install pigz
Uso di base di pigz
Comprimi un singolo file
a comprimere qualsiasi file in formato CAP GNU con pigz, dovremo solo usarlo nel modo seguente:
pigz NOMBRE_DEL_ARCHIVO
Per alcuni, questo potrebbe essere un problema per impostazione predefinita, pigz elimina il file originale dopo la compressione. Se vuoi tenerlo, devi utilizzare l'opzione -k come segue:
pigz -k NOMBRE_DEL_ARCHIVO
Pigz supporta più livelli di compressionee ci permetterà di scegliere tra di loro indicando il loro numero dopo un trattino. Un esempio di questo potrebbe essere:
pigz -9 -k NOMBRE_DEL_ARCHIVO
Possiamo usare numeri da 1 a 9. Con "1" otterremo prestazioni più veloci, ma con la compressione più bassa e con "9" otterremo la compressione più lenta, ma più alta.
Comprimi le cartelle
Pigz ha una restrizione significativa e cioè che non supporta le cartelle. Potremo comprimere i file solo individualmente. Sebbene possiamo trovare una soluzione alternativa, che è usarla insieme a tar.
Se volessimo comprimere la cartella 'fondi', e poiché tar supporta l'uso di programmi di compressione esterni, potremmo fare qualcosa di simile a quanto segue:
tar --use-compress-program="pigz -k -9" -cf Fondos.tar.gz Fondos/
Nel comando precedente, tar –usa-comprimi-programma afferma che sebbene creerà un file con tar, la compressione del suo contenuto avverrà tramite un programma esterno, in questo caso pigz. Questo programma esterno ed i suoi parametri sono definiti con la parte pigz-k-9 del comando. Infine, indicheremo che vogliamo creare un file usando '-cfr', chiamato'Sfondi.tar.gz"con tutto nella cartella"I soldi/'.
Decomprimere file e cartelle
Decomprimere qualsiasi file .gz con pigz è semplice come digitare uno dei seguenti comandi:
pigz -d NOMBRE_DEL_ARCHIVO.gz unpigz NOMBRE_DEL_ARCHIVO.gz
Nel file precedentemente creato con una cartella con estensione tar.gz, decompressione della cartella usa lo stesso approccio 'tar'che usiamo per la compressione:
tar --use-compress-program="pigz -d" -xvf NOMBRE_CARPETA.tar.gz
Limitare il parallelismo
Pigz, per impostazione predefinita utilizza tutti i processori / core del computer. Quando si comprimono set di dati di grandi dimensioni, ciò può influire sulla reattività del computer.
Con l'opzione p, possiamo limitare l'uso a un numero specifico di processori / core. Questo lascerà il resto libero per le tue altre attività e interattività. Per fare ciò, devi solo aggiungere il numero di processori / core come segue:
pigz -k -p2 NOMBRE_DEL_ARCHIVO
-p2 limita pigz all'uso solo di due processori / core. Possiamo usare qualsiasi numero vogliamo e, anche se è ovvio, è importante mantenere quel numero entro i limiti del nostro hardware.
Per ulteriori informazioni, gli utenti possono dai un'occhiata al file README oppure leggi la pagina di Manuale d'uso di pigz.