3 - Archives et
fichiers : compression et décompression
Les programmes sont la plupart du temps fournis compressés,
c'est-à-dire sous un format plus compact permettant de réduire
la taille du programme, notamment pour faciliter son téléchargement.
Ce sont les outils tar et gzip qui permettent ce compactage.
Grâce à l'outil tar, plusieurs fichiers peuvent être simplement
regroupés en une seule archive pour faciliter leur transport.
Enfin, les fichiers peuvent être regroupés puis compressés pour
obtenir une archive portant l'extension .tar.gz.
Voici les trois outils utilisés (TAR, GZIP, GUNZIP)
et les quatre extensions associées (.tar, .tgz, .gz, .tar.gz)
:
3.1 - Outil TAR
: Extensions .tar et .tgz
Il est très utilisé dans le monde de Linux. Il
permet de créer une archive unique contenant de nombreux fichiers
et toutes leurs informations annexes (droits, propriétaires).
Cette archive est plus fréquemment créée non compressée. On obtient
un fichier ayant l'extension .tar. Puis elle peut être
compressée à l'aide de GZIP pour obtenir un fichier avec
l'extension .tar.gz (voir plus loin). Si on utilise l'outil
TAR pour compresser, on obtient une archive avec .tgz
comme extension. Voici les différentes options utilisées avec
l'outil TAR :
-A, --catenate ou --concatenate |
Ajoute des fichiers tar à une archive |
-c ou --create |
Crée une nouvelle archive |
-d, --diff ou --compare |
Cherche les différences entre une archive
et les
fichiers du disque |
--delete |
Supprime un fichier de l'archive |
-f ou --file Fichier |
Indique le nom du fichier archive |
-r ou --append |
Ajoute les fichiers à la fin d'une archive |
-t ou --list |
Donne le contenu de l'archive |
-u ou --update |
Ne met dans l'archive que les fichiers nouveaux
ou plus récents que dans l'archive |
-v ou --verbose |
Affiche le nom des fichiers traités |
-x, --extract ou --get |
Extrait les fichiers d'une archive |
Quelques exemples :
tar xvf archive.tar |
Extrait le contenu de archive.tar
dans le répertoire courant. |
tar tvf archive.tar |
Liste le contenu de archive.tar
avec les droits, propriétaires. |
tar cvf archive.tar /usr/local/program/* |
Création de archive.tar dans le
répertoire courant et archivage
de tout le contenu de /usr/local/program
(fichiers, répertoire, sous-répertoire)
dans cette archive |
3.2 - Outils GZIP
et GUNZIP : Extension .gz
L'outil GUNZIP permet de décompresser un
fichier ayant pour extension .gz. L'outil GZIP,quant
à lui, permet de compresser un unique fichier. C'est pourquoi
il est utilisé avec l'outil TAR.
En effet, l'outil TAR regroupe différents fichiers dans
une archive .tar et l'outil GZIP la compresse. L'extension
.gz créée par GZIP est ajoutée à celle du fichier.
On peut alors rencontrer des fichiers du type Fichier.txt.gz
ou bien sûr Fichier .tar.gz.
Notez bien que l'outil GZIP remplace le fichier à compresser
par celui créé. Le fichier initial ne se trouve ainsi plus dans
le répertoire.
Voici les différentes options utilisées avec les outils GZIP
et GUNZIP :
-c, --stdout ou --to-stdout |
Redirige le fichier compressé vers la sortie
standard et ne modifie pas l'original |
-d, --decompress ou --uncompress |
Décompresse l'archive (qui disparaît) |
-h ou --help |
Affiche les options possibles |
-l ou --list |
Donne des informations sur l'archive et sur
les fichiers compressés |
-q ou --quiet |
N'affiche pas les messages d'alerte |
-r ou --recursive |
Suit l'arborescence des répertoires de façon
récursive pour en compresser tous les fichiers
(ou décompresser dans le cas de GUNZIP) |
-t ou --test |
Test l'intégrité de l'archive compressée |
Quelques exemples :
gzip -d fichier.tar.gz
ou
gunzip fichier.tar.gz
|
Décompresse fichier.tar.gz
|
gzip fichier.txt
|
Compresse fichier.txt en le transformant
en fichier.txt.gz
|
gzip *
|
Compresse tous les fichiers du répertoire
courant
Chaque fichier donnera un fichier gz
|
Comme vu précédemment, cette extension est obtenue
par archivage à l'aide de l'outil TAR puis par compression
à l'aide de GZIP. Cette extension est l'une des plus rencontrées
avec l'extension RPM
Voici comment les compresser et les décompresser :
tar zxvf fichier.tar.gz
ou
gunzip -c fichier.tar.gz | tar xvf - |
Décompresse dans le répertoire courant
le fichier fichier.tar.gz et recrée les fichiers
de l'archive fichier.tar |
gunzip fichier.tar.gz
puis
tar xvf fichier.tar |
Même chose |
tar cvf fichier.tar /usr/local/* gzip fichier.tar |
TAR crée l'archive fichier.tar, ensuite GZIP
la compresse en fichier.tar.gz |
|