lundi 13 janvier 2014

Petit Rappel sur l'archivage Linux tar.gz

Source: http://www.linux-kheops.com/doc/dupoux/compress/

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.

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. 

Compression d'une Archive

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



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.