La compression un processus qui permet de réduire la taille des fichiers et des répertoires en les compressant dans un format plus petit. Cela peut être utile pour:
Il existe plusieurs outils de compression populaires dans Linux:
Chacun de ces outils utilise un algorithme de compression différent, qui peut avoir un impact sur la taille de fichier finale, la vitesse de compression/décompression, et la compatibilité avec d'autres systèmes d'exploitation.
La compression sans perte permet de réduire la taille des fichiers sans perte de données
La compression avec perte permet de compresser des fichiers en réduisant leur taille mais en perdant des données.
La relation entre la taille et le taux de compression est inverse : plus un fichier est grand, meilleur sera généralement son taux de compression. Voici pourquoi :
Cependant, cette relation n'est pas linéaire et dépend beaucoup du type de contenu. Par exemple, un fichier déjà compressé (comme une image JPG) ne se compressera pas davantage même s'il est grand.
Aussi, la relation entre la taille du fichier et le facteur de compression d'une image (ex.: JPEG) n'est pas directe. Le facteur de compression JPEG affecte plutôt la qualité visuelle et la taille finale :
Le taux de compression final est donc plus lié au contenu visuel qu'à la taille d'origine du fichier.
GZIP utilise l'algorithme DEFLATE qui combine deux techniques :
# Texte original
"banana banana banana"
# Après LZ77
"banana [retour 6, longueur 6] [retour 6, longueur 6]"
# Fréquences
'a' : 9 fois -> code '0'
'n' : 6 fois -> code '10'
'b' : 3 fois -> code '110'
Voici comment utiliser gzip:
gzip fichier.txt
Décompresser un fichier compressé (restaure le fichier “fichier.txt” dans son état original)
gzip –d fichier.txt.gz
TAR (Tape Archive) permet de regrouper plusieurs fichiers ou le contenu d'un répertoire ou de plusieurs répertoires dans un seul fichief (archive). Il eprmet donc de créer des sauvegardes et des archives. Les fichiers tar se terminent par l'extension .tar.
Autres points clés :
Voici comment utiliser la commande:
tar [options(s)] [destination] [fichier(s)_ou_répertoire(s)]
Voici des exmeples d'appel de la commande:
# Créer une archive
tar -cvf archive.tar fichier1 fichier2/
# c: créer, v: verbose, f: nom du fichier
# Voir le contenu
tar -tvf archive.tar
# Extraire
tar -xvf archive.tar
# Pour ajouter des fichier à une archive existante
tar -rvf archive.tar fichier3
# Compresser avec gzip
tar -czvf archive.tar.gz dossier/
# z: utilise gzip
# Extraire archive compressée
tar -xzvf archive.tar.gz
Un fichier ISO (.iso) est une image disque qui copie exactement le contenu d'un disque optique (CD/DVD). L'extension .iso vient de la norme ISO 9660, le système de fichiers standard pour CD-ROM.
Usages principaux :
Dans Linux, vous pouvez créer une image ISO à partir d'un CD/DVD ou d'un dossier en utilisant la commande "mkisofs".
La commande "mkisofs" est généralement fournie avec le paquet "genisoimage". Vous pouvez installer le paquet en utilisant la commande suivante :
sudo apt-get install genisoimage
Pour créer une image ISO à partir d'un CD/DVD, insérez-le dans votre lecteur et exécutez la commande suivante
sudo mkisofs -o image.iso /dev/cdrom
Création d'une image ISO à partir d'un dossier :
sudo mkisofs -o image.iso /chemin/vers/dossier
Pour vérifier l'image ISO, vous pouvez monter l'image ISO en tant que système de fichiers et vérifier son contenu.
sudo mount -o loop image.iso /mnt/iso
Rsync est un outil de synchronisation et transfert de fichiers, il permet permet d’effectuer une synchronisation entre deux répertoires:
La synchronisation se fait de façon incrémentale.
# Syntaxe basique
rsync [options] source destination
# Exemples communs
# Synchroniser dossier local
rsync -av /source/ /destination/
# Synchroniser vers serveur distant
rsync -avz /local/files/ user@server:/remote/path/
# Sauvegarder avec compression
rsync -avz --progress /home/user/ /backup/
# Options principales
-a # Archive (préserve permissions)
-v # Verbose
-z # Compression
-P # Progression + reprise
--delete # Supprime fichiers absents de la source
Avantages clés :
Rsync est très utlisé dans le monde de la sauvegarde des données
Voici un récapitulatif des différentes solutions discutées: