Comment créer et extraire une archive tar tar.gz tar.bz2 ou tar.xz

2 minutes
console bash tar archive compression

Tu veux créer une archive « tar » simple ou compressée : .tar, .tar.gz, .tar.bz2 ou .tar.xz.
Voici les possibilités et les commandes permettant de créer l'archive et en extraire les fichiers.

Considérons que tu as 4 fichiers à créer et à décompresser : fichier_1.tar, fichier_2.tar.gz, fichier_3.tar.bz2 et fichier_4.tar.xz
Nous allons utiliser uniquement la commande POSIX « tar » disponible sur tous les systèmes de type Unix.
Pour information, une archive créé avec cet outil s'appelle aussi un tarball.

Ce format est très utiliser pour stocker les logs ou archiver les projets open-source pour faciliter le transfert.
Les utilisateur de WordPress le savent bien !

Création et extraction d'une archive tar

Pour créer l'archive « fichier_1.tar », rien de plus simple :

$ tar cvf fichier_1.tar fichier_1_ou_dossier_1

Pour extraire les fichiers de l'archive, la commande est simple :

$ tar xvf fichier_1.tar

Le détail des options :

  • c : créer l'archive
  • x : extraire l'archive
  • v : mode « verbose » pour afficher les détails
  • f : utilise un fichier donné en paramètre

Création et extraction d'une archive tar compressée avec gzip (extension .tar.gz)

Les fichiers « .tar.gz » sont des archives « tar » auxquels on a ajouté une couche de compression avec l'algorithme gzip.
Cet algorithme de compression est très rapide et très utile pour les systèmes limités en mémoire.
Pour créer l'archive compressée « fichier_2.tar.gz », la commande est similaire à la précédente :

$ tar zcvf fichier_2.tar.gz fichier_2_ou_dossier_2

La commande d'extraction est très proche également :

$ tar zxvf fichier_2.tar.gz

L'option supplémentaire « z » permet d'ajouter l'algorithme gzip pour la création et la décompression.

Création et extraction d'une archive tar compressée avec bzip2 (extension .tar.bz2)

Pour les fichiers « tar.bz2 », c'est également une archive mais la couche de compression est ici l'algorithme bzip2.
Les archives compressées avec bzip2 sont beaucoup plus petites que celle compressées avec gzip, mais la compression demande plus de ressources.
La création de l'archive compressée « fichier_3.tar.bz2 » est possible avec la commande :

$ tar jcvf fichier_3.tar.bz2 fichier_3_ou_dossier_3

Et la commande d'extraction est :

$ tar jxvf fichier_3.tar.bz2

L'option supplémentaire « j » permet d'ajouter l'algorithme bzip2.

Création et extraction d'une archive tar compressée avec LZMA (extension .tar.xz)

Les derniers fichiers : « tar.xz », ces archives utilisent l'algorithme de compression LZMA.
Cet algorithme est utilisé pour les fichiers « 7z » du programme 7-Zip en autre.
LZMA dispose d'un très bon ratio de compression et l'utilisation de la mémoire est raisonnable.
Pour utiliser cet algorithme sur Linux, il faut avant tout installer le paquet xz-utils.

Pour créer l'archive « fichier_4.tar.xz » la commande est la suivante :

$ tar Jcvf fichier_4.tar.xz fichier_4_ou_dossier_4

Et pour extraire :

$ tar JCxvf /tmp fichier_4.tar.xz

Les options supplémentaires sont :

  • J : permet d'ajouter l'algorithme LZMA
  • C : permet de changer le répertoire d'extraction

Références

https://doc.ubuntu-fr.org/tar
http://tukaani.org/lzma/benchmarks.html

Aller plus loin

https://www.gnu.org/software/tar/tar.html
https://fr.wikipedia.org/wiki/Gzip
https://fr.wikipedia.org/wiki/Bzip2
https://fr.wikipedia.org/wiki/LZMA

Article précédent Article suivant