|
Décompresser sous Linux, voila bien une tache qui rebute les débutants, surtout lorsqu'il s'agit d'accomplir cette tache en ligne de commande ! Alors même si chaque distribution compte désormais son outils de décompression en interface graphique, il est tout de même parfois intéressant de savoir décompresser en ligne de commande. Par exemple de le cas d'une archive comportant un mot de passe, dans le cas d'administration d'un serveur, dans le cas d'utilisation d'un pc via SSH etc... De plus certaine interface graphique de décompression (comme File Roller) ne sont pas compatible avec tous les formats de compression !
Liens rapides :
Décompresser un .zip "Décompresser" un .tar Décompresser un .gz ou .z Décompresser un .bz2 Décompresser un .tar.bz2 Décompresser un .tar.gz ou .tgz Décompresser un .7z Décompresser un .rar Décompresser un .jar Décompresser un .arj Décompresser un .lhz ou .lha Extraire un .deb Extraire un .rpm
Décompresser un .zip
A tout seigneur, tout honneur je vais commencer par un format de compression qui n'est pas vraiment utilisé dans le monde de Linux mais qui est probablement le format de compression le plus utilisé au monde : le .zip ! Le format zip à était inventé au milieu des années 80 par Phil Katz (informaticien brillant mort de l'alcoolisme en 2000 à l'age de 37ans...), le format zip tout comme le format jar utilise l'algorithme Deflate. Les .zip et les .jar sont parfaitement identique, ils peuvent tous être renommer .zip, .jar dans n'importe quel sens sens aucun problème !
Pour décompresser un .zip sous Linux vous aurez besoin de unzip présent sous forme de paquet dans tous les systèmes à base Debian (nom du paquet : unzip).
La commande est très simple :
| $ unzip nom_du_fichier.zip |
"Décompresser" un .tar
Aprés le .zip qui n'est pas franchement un compagnon privilégié de l'utilisateur Linux, le .tar, qui est lui le format d'archivage par excellence sous Linux (sous Unix à la base). Tar veux dire Tape Archiver, soit littéralement archivage sur bande. Ce format à été inventé dans les années 70 pour les besoins de l'archivage de données sur bande magnétique. Contrairement à la croyance ce n'est pas un format de compression !! En effet les données ne sont pas compressées mais simplement "empaquetées" dans un seul et même fichier ce qui avait pour principale avantage, outre le fait de clarté des sauvegardes, de ne pas ralentir le processus d'écriture sur bandes magnétiques. Ce n'est tellement pas un format de compression que les fichiers tar sont souvent légèrement plus gros que l'ensemble des fichiers d'origine :D
Tous systèmes Linux possède d'origine de quoi désarchiver des fichiers tar, pas besoin donc d'application supplémentaire.
Pour désarchiver un fichier .tar la commande est la suivante :
| $ tar -vxf nom_du_fichier.tar |
tar : la commande vxf : les options v : permet d'obtenir une description des fichiers désarchivés (facultatif) x : pour extraire les fichiers f : pour désigner l'archive contenant les fichiers (içi nom_du_fichier.tar) nom_du_fichier.tar : le nom de l'archive à extraire
Décompresser un .gz ou .z :
Les fichiers .gz ou .z sont des fichiers compressés à l'aide de Gzip. Gzip est l'équivalent libre de Zip, Gzip signifie GNU Zip. Tout comme Zip il utilise l'algorithme de compression Deflate.
Pour décompresser un .gz ou un .z la commande est la suivante :
| gzip -d nom_du_fichier.gz |
ou
Décompresser un .bz2 :
Les fichiers .bz2 sont des fichiers compressés avec Bzip2. Bzip2 est le logiciel libre de compression issu de GNU/Linux le plus récent et le plus performant, il tend a remplacer Gzip car il offre un meilleur taux de compression (au détriment d'un temps de compression nettement plus long). Bzip2 utilise sont propre algorithme nommé... Bzip2.
Pour décompresser un .bz2 la commande est :
| bzip2 -d nom_du_fichier.bz2 |
Décompresser un .tar.bz2 :
Un fichier .tar.bz2 est un fichier ou un ensemble de fichiers archivés avec tar puis compresser avec Bzip2. Ce type de fichier tant à être la nouvelle norme de diffusion des logiciels libre grace à ces performances de compression élevés.
Pour décompresser un .tar.bz2 on utilise tar qui utilisera de lui même Bzip2, la commande est :
| tar jxvf nom_du_fichier.tar.bz2 |
Décompresser un tar.gz ou .tgz :
Les .tar.gz ou .tgz sont des fichiers archivés avec tar puis compressés avec Gzip. Ce format est très utilisé pour diffuser des sources de logiciels. A noter que la distribution Slackware utilise ce format de fichier pour leur système de depots.
Pour décompresser un .tar.gz ou un .tgz la commande est la suivante :
| tar -zxvf nom_du_fichier.tgz |
ou
| tar -zxvf nom_du_fichier.tar.gz |
Décompresser un .7z :
Les fichier .7z sont des fichier compressés grace à 7zip. 7zip est un logiciel un peu particulier, d'abord il est issu du monde windows. Ensuite 7zip permet la compression/décompression de nombreux autres format de compression. 7zip utilise l'algorithme LZMA qui est le plus récent des algorithme de compression à ce jour (développement fini en 2001). LZMA est très performant est offre des taux de compression exceptionnel, meilleur que Bzip, Zip, Ace, Rar et plus généralement que tous les autres format utilisant des algorithmes plus ancien. C'est clairement un format de compression très moderne tant son taux de comrpession est intéressant. La contre partie est des temps de compression nettement plus long que pour tous autres systèmes de compression, il est à reserver à des machines puissantes. Sous Linux il vous faudra l'application p7zip pour pouvoir décompresser des .7z. P7zip est en générale toujours disponible dans les dépots de toutes bonnes distributions. Tous comme sont homologue sous windows, p7zip offre le gros avantage de supporter la compression/décompression de nombreux format dont voiçi la liste :
- En compression / décompression 7z, ZIP, GZIP, BZIP2 et TAR - En décompression seulement : RAR, CAB, ARJ, LZH, CHM, Z, CPIO, RPM et DEB
Pour décompresser un .7z la commande est la suivante :
Décompresser un .rar :
Les fichier .rar sont des fichiers compressés avec RAR. RAR est un logiciel de compression propriétaire. Il offrait il y a encore quelques temps certains avantages que les autres formats de compression ne proposaient pas (découpage efficace d'archive, chiffrement etc...) Aujourd'hui le format RAR tend à être largement surpassé par le format 7zip qui, lui, offre l'énorme avantage d'être un format libre.
Pour pouvoir décompresser un .rar sous Linux vous aurez besoin de unrar-free. Malheureusement unrar-free ne permet pas la décompression d'archive rar dans leurs version 3. Si vous devez décompresser de telles archives il vous faudra unrar (non free) qui lui est propriétaire. Pour résumé, rar est un format propriétaire vieillissant et aujourd'hui peu performant (taux de compression plutot moyen), si possible préférer lui 7zip pour vos opérations de compression.
Pour décompresser un .rar la commande est :
| $ unrar x nom_du_fichier.rar |
Décompresser un .jar :
Les fichiers .jar sont des fichiers compressés avec Java JDK. Ce ne sont en faite que des .zip nommés différemment. D'ailleurs un fichier .jar peut parfaitement être renommer .zip et être traité grace à des outils dédié au .zip. Il est rare de les trouver seul, bien souvent un .jar est un plugin pour une application Java, voir directement une application java. Pour décompresser un .jar sous Linux il vous faudra JRE quasiment toujours disponible dans les dépots ( comme le paquets sun-java5-jre par exemple). Noter que les .xpi sont strictement identique au .jar et peuvent être traité de la même manière que les .jar.
Pour décompresser un .jar la commande est :
| $ jar xvf nom_du_fichier.jar |
Décompresser un .ace :
Un fichier .ace est un fichier compressé grace à ACE (bien souvent WinACE). Tout comme RAR, ACE est un format de compression propriétaire vieillissant (encore une fois face à 7zip), il offre toutefois un taux de compression assez intéressant. Pour décompresser un .ace sous Linux vous aurez besoin de unace (ou unace-nonfree en cas de problème).
Pour décompresser un .ace la commande est la suivante :
| $ unace x nom_du_fichier.ace |
Décompresser un .arj :
Un fichier .arj est un fichier compressé grace à ARJ. ARJ est un système de compression obsolète utilisé sous DOS, la dernière version d'ARJ date de 1992... Sous Linux vous aurais besoin de unarj ou de arj mais ces paquets commence à être difficile à trouver sur les distributions moderne (la paquet "arj" et toutefois toujours dispo sous Debian Etch). En cas de problème utiliser 7zip pour décompresser vos .arj.
Pour décompresser un .arj la commande est la suivante :
| $ unarj x nom_du_fichier.arj |
ou avec 7zip :
| $ 7z e nom_du_fichier.arj |
Décompresser un .lhz ou .lha :
On continue dans les vieilleries : les fichiers .lha ou .lhz sont des fichiers compresser avec LHA. Tout comme ARJ, LHA est un système obsoléte de compression DOS dont la dernière version date de 1995. LHA est d'origine japonaise. Encore une fois comme pour ARJ il commence à être difficle de trouver des programmes de décompression pour .lha ou .lhz sous Linux. On utilise donc 7zip :
Pour décompresser un .lhz ou .lha la commande et :
| $ 7z e nom_du_fichier.lhz |
ou
| $ 7z e nom_du_fichier.lha |
Ouverture de paquets
Les exemples qui suivent vous montre comme "ouvrir" des paquets .deb et .rpm. IMPORTANT : noter d'un paquet .deb ou .rpm ne s'installe pas en décompressant son contenu. Pour installer un paquet .deb ou .rpm, utiliser le gestionnaire de paquet de votre distribution. L'ouverture d'un paquet ne peut être qu'a titre de "curiosité" ou pour une tache particulière bien précise.
Extraire un .deb :
Un fichier .deb est une archive (tout comme les .tar) qui permet l'installation de logiciel sur les distributions Debian (et ses dérivés). Un .deb n'est pas compressé. Il contient toujours 3 fichiers : control.tar.gz, data.tar.gz et debian-binary, tous trois nécessaire à l'installation de logiciels sur une distribution Debian. Pour extraire le contenu d'un .deb vous aurez besoin de "ar" qui fait partie du paquet binutils.
Pour extraire le contenu d'un .deb la commande est :
| $ ar xv nom_du_fichier.deb |
Extraire un .rpm :
Un .rpm est une archive (tout comme les .tar ou les .deb) qui permet l'installation de logiciels sur certaine distribution GNU/Linux. RPM signifie RedHat Paquets Manager, il à était inventé en 1995 par la distribution RedHat. Aujourd'hui RedHat, SuSE et Mandriva utilise des .rpm.
Pour extraire un .rpm vous aurez besoin des paquets rpm et cpio disponible dans toutes distributions moderne.
Pour extraire le contenu d'un .rpm la commande est :
| $ rpm2cpio nom_du_fichier.rpm | cpio -mid |
Divers format "exotique" :
En vrac :
Monter un .iso :
Un .iso est une image d'un disque CDrom ou DVDrom. Pour afficher son contenu :
| mount -o loop -t iso9660 <fichier.iso> /point/de/montage |
Voila, c'est tout pour la décompression sous Linux, j'ai volontairement laisser de coté certains fichier hyper propriétaire comme le .cab de Microsoft car l'intèret de décompresser ce type de fichiers sous Linux est quasiment nul. J'espère que vous aurais apprit quelques petite chose et que vous saurais ou chercher le prochaine fois que vous tomberais sur une archive récalcitrante ;)
NOTE : je compléte ce tuto au fur et à mesure que je retrouve des information , particuliérement sur les options de chaque commande.
|