Techniques de compression et décompression dans l'environnement Linux

Introduction

Cet article explore les outils de compression et décompression courants sur les systèmes Linux, en couvrant les commandes de base, les options avancées et les méthodes d'encryption pour la sécurité des données.

Utilisation de tar avec différents algorithmes

Compression standard

Pour créer une archive compressée avec gzip, utilisez la commande suivante :

tar -czvf backup.tar.gz data_dir/
# Décompression de l'archive gzip
tar -xzvf backup.tar.gz

Avec bzip2, qui offre un meilleur taux de compression mais est plus lent :

tar -cjvf archive.tar.bz2 project/
# Extraction de l'archive bzip2
tar -xjvf archive.tar.bz2

Pour une compression maximale avec xz :

tar -cJvf fichier.tar.xz fichiers/
# Décompression de l'archive xz
tar -xJvf fichier.tar.xz

Une simple archivage sans compression peut être réalisée ainsi :

tar -cvf ensemble.tar contenu/
# Extraction de l'archive tar simple
tar -xvf ensemble.tar

Les commandes de décompression peuvent détecter automatiquement le format :

tar -xvf archive.tar.gz
tar -xvf archive.tar.bz2
tar -xvf archive.tar.xz
tar -xvf archive.tar

Pour extraire vers un répertoire spécifique :

tar -xzvf backup.tar.gz -C /opt/sauvegarde/
tar -xvf archive.tar.gz -C /chemin/cible/

Compression et décompression avec encryption

Méthode en deux étapes

Créer une archive compressée puis la chiffrer avec openssl :

tar -czvf donnees.tar.gz donnees/
openssl enc -e -aes256 -salt -pbkdf2 -in donnees.tar.gz -out donnees.tar.gz.enc

Pour déchiffrer et décompresser :

openssl enc -d -aes256 -salt -pbkdf2 -in donnees.tar.gz.enc -out donnees.tar.gz
tar -xzvf donnees.tar.gz

Méthode directe avec pipes

Exemple avec bzip2 pour compresser et chiffrer en une seule commande :

tar -cjvf - projet | openssl enc -e -aes256 -salt -pbkdf2 -out projet.tar.bz2.enc

Pour déchiffrer et décompresser :

openssl enc -d -aes256 -salt -pbkdf2 -in projet.tar.bz2.enc | tar -xjvf -

Gestion des fichiers zip

Création d'archives zip

Pour compresser plusieurs fichiers dans une archive zip :

zip documents.zip rapport.txt presentation.pdf

Pour inclure un répertoire récursivement avec l'option -r :

zip -r code_source.zip src/

Contrôle du taux de compression : -9 pour une compression maximale, -1 pour la vitesce :

zip -9 grande_archive.zip iso_image.iso
zip -1 donnees.zip dossier/

Mode silencieux avec -q :

zip -q archive_silencieuse.zip fichiers/

Compression chiffrée

Utilisation de -re pour demander un mot de passe de manière interactive :

zip -re securise.zip donnees_sensibles/

Spécifier le mot de passe directement avec -P (moins sécurisé) :

zip -r -P motdepasse archive_chiffree.zip dossier/

Combinaison de paramètres pour récursivité et encryption :

zip -r -e -P secret123 archive_securee.zip documents/

Extraction et gestion des archives zip

Extraction dans le répertoire courant :

unzip archive.zip

Extraction vers un répertoire spécifié avec -d :

unzip archive.zip -D /destination/cible/

Lister le contenu sans extraire avec -l :

unzip -l archive.zip

Options pour écraser (-o) ou ne pas écraser (-n) les fichiers existants :

unzip -o archive.zip
unzip -n archive.zip

Mode silencieux avec -q :

unzip -q archive.zip

Inspection des métadonnées avec zipinfo :

zipinfo archive.zip
zipinfo -1 archive.zip  # Liste des noms de fichiers seulement
zipinfo -v archive.zip  # Informations détaillées

Tester l'intégrité avec -t :

unzip -t archive.zip

Utilisation de 7zip

Création d'archives

Pour créer une archive 7z :

7z a test.7z donnees/

Avec encryption par mot de passe interactif ou direct :

7z a chiffre.7z secret/ -p
7z a chiffre_direct.7z secret/ -p[monmotdepasse]

Pour les gros fichiers, diviser en volumes avec -v et activer l'encryption des en-têtes avec -mhe :

7z a -psecret -v500M -mhe=on volume.7z grand_fichier.iso

Extraction complète avec la commande x :

7z x test.7z

Gestion des fichiers rar

Avertissement sur les licences

L'outil rar est un logiciel commercial avec une période d'essai de 40 jours. Son utilisation sans licence après l'essai est non autorisée. En revanche, unrar est open source et gratuit pour la décompression.

Installation

Sur les systèmes basés sur Debian/Ubuntu :

sudo apt update
sudo apt install rar unrar

Création d'archives rar

Pour créer une archive rar :

rar a archive.rar fichier1.txt dossier/

Pour inclure plusieurs fichiers et répertoires :

rar a mes_fichiers.zip document.pdf image.jpg mon_dossier/

Extraction avec unrar :

unrar e archive.rar
unrar e archive.rar /chemin/destination/

Lister le contenu d'une archive rar :

unrar l archive.rar
unrar v archive.rar  # Liste détaillée

Étiquettes: tar gzip bzip2 xz zip

Publié le 31 mai à 23h00