Archivage et compression de fichiers
En informatique, une archive est un fichier compressé qui peut contenir plusieurs fichiers et répertoires. Les archives sont généralement des fichiers portant l'extension .tar (format UNIX) ou .zip (sous windows) et ceux-ci sont également souvent compressés.
Cette page présente les différents formats d'archives rencontrés sous Ubuntu ainsi que les différentes façons de les créer, de les extraire ou de les lire.
Archiver et extraire une archive
Graphiquement
- Pour extraire (décompresser) une archive, il suffit généralement de faire un clic-droit sur le fichier puis choisir "Extraire l'archive" (ou formulation équivalente, comme "Décompresser l'archive" par exemple).
- Pour créer une archive, il suffit généralement de sélectionner les fichiers à compresser, puis faire un clic-droit sur un des fichiers sélectionnés et choisir "Compresser".
Plus de détails :
- File-roller - gestionnaire d'archives par défaut d'Ubuntu.
- Ark - gestionnaire d'archives par défaut de Kubuntu.
- Xarchiver (Site officiel) - gestionnaire d'archives léger.
- peazip - interface graphique compatible avec de nombreux formats
En ligne de commande
Chaque format d'archive a un utilitaire en ligne de commande permettant de créer ou d'extraire des archives.
Vous trouverez ci-dessous les commandes permettant de gérer chaque format:
- pour les formats .tar .tar.gz .tgz .tar.bz2 .tbz2 .tar.xz , voir la page tar
- pour les formats .7z .zip .Zip64 .cab .rar .arj .gz .bz2 .tar .cpio .rpm .iso .exe (image disque) .deb , voir la page p7zip
- pour le format .zip , voir la page zip
- pour le format .rar , voir la page rar
- pour le format .ace , voir la page unace
- pour le format .xtm , voir Xtremsplit (toujours disponible mais n'est plus maintenu)
Script extraction
Le script suivant permet de décompresser un large éventail de types de fichiers compressés. Il vous suffira juste de taper dans un terminal la commande quel que soit le type d'archive:
extract <fichier>
Ajoutez la fonction dans ~/.bashrc :
#!/bin/bash extract () { if [ -f "$1" ] ; then case "$1" in *.tar.bz2) tar xvjf "$1" ;; *.tar.gz) tar xvzf "$1" ;; *.tar.xz) tar xvJf "$1" ;; *.bz2) bunzip2 "$1" ;; *.rar) unrar x "$1" ;; *.gz) gunzip "$1" ;; *.tar) tar xvf "$1" ;; *.tbz2) tar xvjf "$1" ;; *.tgz) tar xvzf "$1" ;; *.zip) unzip "$1" ;; *.Z) uncompress "$1" ;; *.7z) 7z x "$1" ;; *.xz) unxz "$1" ;; *.exe) cabextract "$1" ;; *) echo "'$1': unrecognized file compression" ;; esac else echo "'$1' is not a valid file" fi }
Découper un gros fichier en plusieurs petits morceaux
- Sous Ubuntu, il suffit d'un clic-droit sur votre gros fichier, choisir "Compresser…" en .7z , en cochant la fonction "Couper en volume de .." dans le menu "Autres options"
- Des logiciels spécifiques pour le morcellement de fichiers :
- GNOME Split - permet le découpage et l'assemblage de gros fichiers en plusieurs morceaux, supporte plusieurs formats.
- HjSplit - un logiciel multiplateforme permettant de découper et recoller un fichier en plusieurs morceaux.
- Voir aussi : Séparer un fichier en plusieurs morceaux.
Ré-assembler un zip découpé
Voir archives zip découpées.
Réparer une archive corrompue
Voir le tutoriel Comment réparer une archive corrompue
Archivage protégé par mot de passe
Si vous avez une archive, le plus souvent .rar, protégée par mot de passe, ouvrez un terminal. Rendez-vous dans le dossier contenant l'archive avec la commande cd. Vous entrerez ensuite cette commande :
unrar e -kb -p- nom_archive.rar
En cas d'oubli du mot de passe vous avez plusieurs outils :
- Pour les zip installez le paquet fcrackzip. Puis utilisez la commande :
fcrackzip -c a -p aaaaaa fichier_protege.zip
Qui va tester le fichier fichier_protege.zip
avec toutes les possibilités de 6 caractères en minuscule. Vous pourrez aussi tester sur une plage de caractère (ex: de 6 à 10 lettres), avec plus de caractères ( majuscules, accentués…Etc), ou avec une liste de mots prédéfinis…
- Pour les archives rar, 7z ou zip installez le paquet rarcrack. Puis utilisez la commande :
rarcrack /<chemin>/monfichier.rar [--type rar|zip|7z]
Ce qui est entre crochets est optionnel mais conseillé selon le typer de fichier à traiter.