Compression et archivage sous Linux

Du même auteur

Le Disk

Linux

Présentation du système Linux

Installation de Linux

Les distributions de Linux

Installation du nouveau Noyau de Linux (version 2.2)

Compression et Archivage

Wine (émulateur Windows)

Internet

Mp3

Gravure

KDE

L'excellente interface graphique KDE

La suite bureautique KOffice pour KDE

Programmation

KFileCoder
(projet de DUPOUX)

KFileReplace
(projet de DUPOUX)






Ecrit par
François DUPOUX

 

Sommaire:


Haut1. Introduction

Nous allons voir comment compresser et décompresser des fichiers sous Linux (comme avec Winzip sous Windows). Nous n'étudierons que les outils en ligne de commande, car ils sont standards, fonctionneront sur toutes les distributions de Linux, et il n'est pas nécessaire de disposer de XWindow.

La compression est un élément indispensable. Dès qu'on récupère un programme sur Internet, il est compressé. La plupart du temps, le format utilisé est le format .TAR.GZ (tar.gzip), qui est standard, et que tout le monde peut décompacter sans problème. Mais il existe aussi un format plus récent: le BZ2 (bzip2) qui est moins répandu, mais plus efficace. Il faut avoir l'utilitaire Bzip2 pour pouvoir utiliser les données. Ce dernier format est d'ailleurs utilisé pour compresser le noyau 2.2 de Linux: avec ce format (BZ2), il n'occupe que 10 Mo, contre 13 Mo en .TAR.GZ.

 

Aller en Haut de la Page

Haut2. Le format .TAR.GZ

L'extension .TAR.GZ (ou parfois TGZ) indique que le fichier est avant tout une archive TAR, qui a été ensuite compressée avec Gzip (GZ). Le rôle de l'utilitaire TAR est de créer une archive, donc de regrouper plusieurs fichiers, comme par exemple tout un dossier, en un unique fichier d'extension .TAR. Et ensuite, gzip compresse cette archive. La compression et la décompression s'effectuent donc en deux étapes. Mais on peut demander à TAR de faire appel à Gzip avec l'option z, donc dans ce cas, une seule opération suffit à créer ou utiliser un fichier .TAR.GZ.

 

2.1) Compression d'une archive .TAR.GZ

Syntaxe: tar <options> <fichier .tar.gz à créer> <fichiers à ajouter>

Dans les options, on doit mettre c pour créer une archive et non la décompresser, f pour indiquer qu'il s'agit d'un fichier, on peut mettre z pour compresser avec Gzip, et v si on désire avoir la liste des fichiers compressés qui défile.

Exemple: tar cfvz kfilecoder.tar.gz /root/projects/kfilecoder

Dans cet exemple, on crée un fichier kfilecoder.tar.gz compressé avec Gzip, dans lequel on met tous les fichiers contenus dans le dossier /root/projects/kfilecoder

 

2.2) Extraction d'une archive .TAR.GZ

Syntaxe: tar <options> <fichier .tar.gz à extraire>

Dans les options, on doit mettre x pour extraire l'archive indiquée, f pour indiquer qu'il s'agit d'un fichier, on peut mettre z pour décompresser avec Gzip, et v si on désire avoir la liste des fichiers compressés qui défile.

Exemple: tar xfvz kfilecoder.tar.gz

Dans cet exemple, on extrait l'archive kfilecoder.tar.gz, en la décompressant avec Gzip, tous les fichiers sont copiés dans le dossier courant.

Remarque: attention à la casse. Par exemple l'option z (minuscule) pour compresser au format Gzip ne doit pas être confondue avec l'option Z (majuscule) qui compresse au format Compress, qui est totalement différent.

 

Aller en Haut de la Page

Haut3. Le format BZ2

Le format de bzip2 (BZ2) est parfois utilisé car il est beaucoup plus performant à la compression que gzip (GZ). Son principal inconvénient est qu'à l'heure actuelle, l'outil bzip2 n'est pas fourni en standard avec les distributions Linux. Il faut donc se le procurer avant de pouvoir utiliser des fichiers au format BZ2.

Là aussi vous devez d'abord passer par tar pour créer une archive .TAR, puis ensuite la compresser ou la décompresser en BZ2. Cette étape n'est pas détaillée ici, car il suffit d'utiliser tar comme pour le format tar.gz, sauf qu'il ne faut pas utiliser l'option z, car on ne doit pas compresser l'archive tar obtenue. Mais Bzip2, tout comme Gzip, peut très bien compresser un fichier autre qu'un archive .TAR, bien que ce soit le cas le plus courant.

Vous pouvez vous procurer l'utilitaire Bzip2 indispensable ici, à l'adresse suivante:
http://gd.tuwien.ac.at/opsys/linux/freshmeat/rpms/bzip2/bzip2-0.9.0c-1.i386.rpm.

Pour installer Bzip2, tapez simplement la commande suivante: (il faut que le fichier RPM se situe dans le dossier courant)

rpm -ivh bzip2-0.9.0c-1.i386.rpm

 

2.1) Décompression d'un fichier au format BZ2

Syntaxe: bzip2 -d <fichier .bz2 à décompresser>

Il faut simplement indiquer le nom du fichier d'extension .BZ2 à décompresser.

Exemple: bzip2 -d kfilecoder.tar.bz2

Dans cet exemple, on extrait l'archive kfilecoder.tar.bz2. On obtient donc le fichier kfilecoder.tar. On peut extraire cette archive avec la commande suivante:

tar -xfv kfilecoder.tar

 

Aller en Haut de la Page

Haut4. Les packages RPM

Le format RPM (Redhat Package Manager) a été introduit par la distribution Redhat, pour simplifier l'installation de composants logiciels (applications, bibliothèques, code source, etc...). Les packages RPM sont donc des fichiers de distributions d'applications. Ce n'est donc pas un simple format de compression et d'archivage qui sert à transporter des fichiers. Il est supporté par de nombreuses distributions, dont bien sur la Redhat.

Les fichiers RPM contiennes une série de fichiers, tout comme les TAR.GZ, mais contiennent des informations supplémentaires sur leur contenu. Il est donc possible d'avoir des informations sur le nom de l'application, une courte description, ou encore l'auteur. En plus de cela, un package RPM indique au système qui cherche à l'installer, quels composants (bibliothèques par exemple) doivent être installés pour que le programme puisse fonctionner. Lors de l'installation d'un logiciel fourni au format RPM, le système vérifie auparavant que tous les composants nécessaires sont installés sur le système, et vous prévient en cas de problème. Ce système est nommé "dépendances".

De nombreux outils fonctionnant avec l'interface graphique sont disponibles pour installer les RPMs, comme par exemple KPackage qui est livré avec KDE. Cependant, bous allons ici expliquer uniquement l'utilisation des packages RPM en mode console (texte), qui sera utilisable sur la majorité des distributions et qui ne nécessite pas XWindow.

Syntaxe: rpm <options> <fichier.rpm à installer>

Dans options, il faut indiquer:

-ivh (cas le plus courant) pour installer le package (ne peut pas être utilisé avec Uvh)
-Uvh pour mettre à jour le logiciel contenu dans le package (ne peut pas être utilisé avec ivh)
--force (déconseillé) pour forcer l'installation même si un problème intervient (de dépendance par exemple)

Exemple: rpm -ivh --force kfilecoder.rpm

Dans cet exemple, on installe l'application contenue dans kfilecoder.rpm. Les fichiers sont copiés sur le disque dur dans les fichiers par défaut indiqués dans le fichier RPM.

Voici une photo de KPackage, qui sert à installer des applications stockées dans un package RPM sous KDE:

KPackage: installation des RPM sous KDE

Aller en Haut de la Page


Retour à la Documentation