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