L'utilitaire tar, pour "Tape Archive", permet de créer un fichier compressé ou non contenant tout un répertoire ainsi que son contenu, le tout de manière récursive.

La commande tar supporte 7 programmes de compression, à savoir:

  • gzip
  • bzip2
  • lzip
  • lzma
  • lzop
  • xz
  • compress

Les deux ou trois premiers étant évidemment les plus utilisés.

Vous vous souvenez sans doute que le flag -z est à utiliser en cas de compression gzip et que -j est destiné au format bzip2.

Mais peut-être avez-vous oublié que -J active la compression XZ ou que -Z permet d'utiliser le programme compress ?

Il est en fait plus simple d'utiliser les flags "longs", à savoir:

  • --gzip
  • --bzip2
  • --lzip
  • --lzma
  • --lzop
  • --xz

Mais il y a encore mieux, et c'est de laisser le choix à la commande tar de déterminer quel programme de compression va créer l'archive au format demandé.

Cela se fait avec le flag --auto-compress ou -a.

Ce flag s'utilise comme suit:

tar caf archive.tar.bz2 .

C'est quand même plus simple, non ?

Si vous demandez un format de compression qui nécessite un programme que vous n'avez pas installé, vous aurez une erreur qui ressemble à:

tar (child): lzop : exec impossible: Aucun fichier ou dossier de ce type
tar (child): Error is not recoverable: exiting now

A la décompression, le format de compression est trouvé tout seul, sans aucune option particulière:

tar -C /tmp -xf archives/hugo.taz