Cómo comprimir archivos más rápido con Pigz Tool en Linux


Escrito por Mark Adler, Pigz es un acrónimo de Parallel Implementation of GZip. Es una ingeniosa herramienta de compresión que te ayuda a comprimir archivos a velocidades ultrarrápidas. Como mejora de la antigua utilidad gzip, aprovecha múltiples núcleos y procesadores para comprimir datos.

Esta guía arroja más luz sobre Pigz y le explica cómo utilizar la utilidad para comprimir archivos en sistemas Linux.

Instalación de Pigz en sistemas Linux

Instalar Pigz es un paseo por el parque porque el paquete Pigz está contenido en repositorios oficiales para distribuciones importantes como Debian y CentOS.

Puede instalar Pigz en un solo comando en varias distribuciones utilizando sus respectivos administradores de paquetes de la siguiente manera.

$ 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

Cómo comprimir archivos con Pigz

Para comprimir un solo archivo a un formato zip, use la sintaxis.

$ pigz filename

En esta guía, usaremos el archivo ubuntu-20.04-beta-desktop-amd64.iso para fines de demostración. Para comprimir el archivo, ejecute:

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

Sin embargo, el comando elimina el archivo original al comprimirlo, como habrá notado. Para conservar el archivo original después de la compresión, ejecute use la opción -k como se muestra.

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

En la salida, podemos ver claramente que el archivo original se ha retenido incluso después de la compresión.

Verificar el contenido del archivo comprimido en Linux

Para verificar el contenido del archivo comprimido, incluidas las estadísticas sobre la relación de compresión lograda, use la opción -l con el comando pigz:

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

Desde la salida, no solo puede ver el contenido del archivo comprimido, sino también el porcentaje de compresión que en este caso es del 1,9%.

Además, puede utilizar varios niveles de compresión que existen del 1 al 9. Se admiten los siguientes niveles de compresión:

  • 6 - Compresión predeterminada.
  • 1: más rápido, pero ofrece la menor compresión.
  • 9: compresión más lenta pero mejor.
  • 0: sin compresión.

Por ejemplo, para comprimir el archivo con el mejor nivel de compresión, ejecute:

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

Cómo comprimir un directorio con Pigz

Por sí mismo, Pigz no tiene opciones para comprimir una carpeta, solo comprime archivos individuales. Como solución alternativa, pigz se usa junto con el comando tar para comprimir directorios.

Para comprimir un directorio, use el argumento --use-compress-program como se muestra:

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

Cómo limitar el número de procesadores durante la compresión

Mencionamos anteriormente que la herramienta de utilidad pigz usa múltiples núcleos y procesadores al comprimir archivos. Puede especificar el número de núcleos que se utilizarán mediante la opción -p .

En este ejemplo, a continuación, hemos utilizado la mejor compresión (indicada por -9 ) con 4 procesadores (-p4) conservando el archivo original (-k).

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

Cómo descomprimir archivos usando Pigz

Para descomprimir un archivo o directorio usando pigz, use la opción -d o el comando unpigz.

Usando nuestro archivo ISO comprimido, el comando será:

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

Comparación entre Pigz vs Gzip

Fuimos un poco más lejos y enfrentamos a Pigz contra la herramienta Gzip.

Aquí están los resultados:

$ 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

De la comparación, podemos ver claramente que los tiempos de compresión y descompresión de Pigz son mucho más cortos que los de Gzip. Esto implica que la herramienta de línea de comandos de Pigz es mucho más rápida que la herramienta Gzip

Para obtener más detalles sobre el uso del comando pigz, visite las páginas de manual.

$ man pigz

Además, ejecute el siguiente comando para ver todas las opciones disponibles para usar con el comando pigz.

$ pigz --help

Y ahí lo tienes. Hemos cubierto la herramienta de línea de comandos pigz y le mostramos cómo puede comprimir y descomprimir archivos. Fuimos más allá y comparamos Pigz con Gzip y descubrimos que Pigz es el mejor de los dos en términos de velocidad de compresión y descompresión. Te invitamos a que lo pruebes y nos cuentes cómo te fue.