Recherche de site Web

Comment compresser des fichiers plus rapidement avec l’outil Pigz sous Linux


Ecrit par Mark Adler, Pigz est l’acronyme de Parallel Implementation of GZip. C’est un outil de compression astucieux qui vous aide à compresser des fichiers à des vitesses fulgurantes. En tant qu’amélioration du bon vieil utilitaire gzip, il exploite plusieurs cœurs et processeurs pour compresser les données.

Ce guide met en lumière Pigz et vous explique comment utiliser l’utilitaire pour compresser des fichiers dans les systèmes Linux.

Installation de Pigz sur les systèmes Linux

L’installation de Pigz est une promenade de santé car le paquet Pigz est contenu dans des dépôts officiels pour les principales distributions telles que Debian et CentOS.

Vous pouvez installer Pigz en une seule commande dans différentes distributions en utilisant leurs gestionnaires de paquets respectifs comme suit.

$ 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

Comment compresser des fichiers avec Pigz

Pour compresser un seul fichier au format zip, utilisez la syntaxe.

$ pigz filename

Dans ce guide, nous utiliserons le fichier ubuntu-20.04-beta-desktop-amd64.iso à des fins de démonstration. Pour compresser le fichier, exécutez :

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

Cependant, la commande supprime le fichier d’origine lors de la compression, comme vous l’avez peut-être remarqué. Pour conserver le fichier d’origine après la compression, exécutez l’option -k comme indiqué.

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

À partir de la sortie, nous pouvons clairement voir que le fichier d’origine a été conservé même après la compression.

Vérifier le contenu du fichier compressé sous Linux

Pour vérifier le contenu du fichier compressé, y compris les statistiques sur le taux de compression atteint, utilisez l’option -l avec la commande pigz :

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

À partir de la sortie, vous pouvez non seulement voir le contenu du fichier compressé, mais aussi le pourcentage de compression qui dans ce cas est de 1,9 %.

De plus, vous pouvez utiliser différents niveaux de compression qui existent de 1 à 9. Les niveaux de compression suivants sont pris en charge :

  • 6 – Compression par défaut.
  • 1 – Le plus rapide mais offre le moins de compression.
  • 9 – La compression la plus lente mais la meilleure.
  • 0 – Pas de compression.

Par exemple, pour compresser le fichier avec le meilleur niveau de compression, exécutez :

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

Comment compresser un répertoire avec Pigz

En soi, Pigz n’a pas d’options pour compresser un dossier, il ne compresse que des fichiers uniques. Pour contourner ce problème, pigz est utilisé en conjonction avec la commande tar pour compresser les répertoires.

Pour compresser un répertoire, utilisez l’argument --use-compress-program comme indiqué :

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

Comment limiter le nombre de processeurs lors de la compression

Nous avons mentionné plus tôt que l’outil utilitaire pigz utilise plusieurs cœurs et processeurs lors de la compression de fichiers. Vous pouvez spécifier le nombre de cœurs à utiliser à l’aide de l’option -p.

Dans cet exemple, ci-dessous, nous avons utilisé la meilleure compression (notée -9) avec 4 processeurs (-p4) tout en conservant le fichier d’origine (-k).

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

Comment décompresser des fichiers à l’aide de Pigz

Pour décompresser un fichier ou un répertoire à l’aide de pigz, utilisez l’option -d ou la commande unpigz.

À l’aide de notre fichier ISO compressé, la commande sera :

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

Comparaison entre Pigz et Gzip

Nous sommes allés un peu plus loin et avons opposé Pigz à l’outil Gzip.

Voici les résultats :

Compression Gzip

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

Compression Pigz

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

Décompression Gzip

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

Décompression Pigz

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

D’après la comparaison, nous pouvons clairement voir que les temps de compression et de décompression pour Pigz sont beaucoup plus courts que pour Gzip. Cela implique que l’outil en ligne de commande Pigz est beaucoup plus rapide que l’outil Gzip

Pour plus de détails sur l’utilisation de la commande pigz, visitez les pages de manuel.

$ man pigz

De plus, exécutez la commande ci-dessous pour afficher toutes les options disponibles pour une utilisation avec la commande pigz.

$ pigz --help

Et voilà. Nous avons couvert l’outil en ligne de commande pigz et vous avons montré comment vous pouvez compresser et décompresser des fichiers. Nous sommes allés plus loin et avons comparé Pigz avec Gzip et avons découvert que Pigz est le meilleur des deux en termes de vitesse de compression et de décompression. Nous vous invitons à tenter le coup et à nous raconter comment cela s’est passé.

Articles connexes: