Tar (informatique)

Un article de Wikipédia, l'encyclopédie libre.

Pour les articles homonymes, voir Tar.
Tar ou Tarball

Extension de fichier :

.tar, .tar.Z, .tar.gz, .tgz, .tar.bz2

Type MIME :

application/x-tar

Type de format :

Archive

Spécification :

Format ouvert

Le tar (de l'anglais tape archiver, littéralement « archiveur pour bande ») est le logiciel d'archivage de fichiers standard d'UNIX. Un fichier tar n'est pas compressé, c'est juste une concaténation de fichiers. On appelle parfois le fichier d'archivage créé un tarball.

Par défaut, l'archivage se fait directement sur le lecteur de bande de l'ordinateur. L'usage le plus courant consiste cependant à créer ou lire un fichier d'archivage. Généralement, ce fichier est ensuite compressé avec un outil de compression de données. Les formats les plus courants sont :

  • gzip, ce qui donne un fichier avec les suffixes .tar.gz ou .tgz;
  • bzip2, ce qui donne un fichier avec les suffixes .tar.bz2.

plus ancien et qui ne subsiste que pour de vieilles archives :

  • compress, ce qui donne un fichier avec les suffixes .tar.Z ;

Les logiciels UNIX, et particulièrement les fichiers des sources, sont fréquemment distribués sous forme de fichier d'archivage compressé.

Sommaire

[modifier] Format du fichier

Le format du fichier est explicité dans wikipédia anglais entre autres. Malheureusement, il n'est pas mentionné la façon de prendre en compte les noms longs (fichiers ou liens). Aussi est-il utile de récupérer dans le site officiel le programme GNU Tar dérivé du programme dans le domaine public de John Gilmore qui permet de comprendre le rôle du nom spécial ././@LongLink.

[modifier] Commandes courantes

Voici les commandes courantes de compression et décompression des archives en fonction de leur extension.

  • Liste :
tar -tf archive.tar 
  • Extraction (éventuellement pour un fichier ou un répertoire spécifique) :
tar -xvf archive.tar [fichier1... ]
  • Décompression + extraction (spécifique à GNU tar) :
tar -xzvf archive.tar.gz
tar -xjvf archive.tar.bz2

Plus généralement, on peut arriver au même résultat avec :

zcat[1] archive.tar.gz  | tar -xvf -
bzcat archive.tar.bz2 | tar -xvf -
  • Archivage :
tar -cvf fichier.tar MonRepertoire1 [MonRepertoire2... ]
  • Compression + archivage :
tar -czvf archive.tar.gz MonRepertoire
tar -cjvf archive.tar.bz2 MonRepertoire

ou bien :

tar -cvf - MonRepertoire | gzip > archive.tar.gz
tar -cvf - MonRepertoire | bzip2 > archive.tar.bz2

Ceci créera une archive compressée dans le répertoire courant (donc un seul fichier) contenant l'ensemble des fichiers du répertoire MonRepertoire et de ses sous-répertoires. Prendre garde que ce ne sont que des cas simples et qu'il est conseillé de consulter le manuel (avec la commande man tar) afin de connaître toutes les options disponibles comme, par exemple, laisser en place les fichiers archivés.

  • copie d'une partie de l'arborescence vers un autre endroit :
tar -cf - . | ( cd /Repertoire/Destination; tar -xvf - )

Recopie à l'identique le répertoire courant et ses sous-répertoires vers /Repertoire/Destination

[modifier] Tarbomb

Un tarbomb est un fichier tar contenant une grande quantité de fichiers à la racine de l'archive. lorsqu'elle est désarchivée, les fichiers d'un tarbomb noient le contenu du répertoire de travail, voire écrasent les fichiers de l'utilisateur qui portent le même nom que ceux de l'archive. Dans le meilleur des cas, l'utilisateur doit ensuite sélectionner un par un les fichiers apparus pour les recopier dans un nouveau répertoire, ce tri pouvant se révéler un travail fastidieux si les fichiers initiaux et les nouveaux sont très mélangés.

L'usage veut donc que les fichiers soient contenus dans un répertoire qui sera archivé, plutôt que de les archiver directement.

[modifier] Notes

  1. parfois gzcat

[modifier] Voir aussi

[modifier] Liens externes