Aller au contenu principal
Kill -9 Club
Se connecter

tar

Transfert et archivesPaquet : tar

Regroupe une arborescence en un seul fichier, et le défait. Sans --acls --xattrs, il perd les ACL ; sans -p à l'extraction, les permissions suivent votre umask et non l'archive.

Ce que font ses options dans les leçons

Tiré du même glossaire que les leçons affichent sous leurs commandes ; les deux ne peuvent pas se contredire.

tar -x
Extrait le contenu de l'archive, par opposition à -c qui en crée une. Les deux se ressemblent à une lettre près, et les confondre écrase l'archive avec ce qu'on voulait en sortir.
tar -z
Passe l'archive par gzip au vol : nécessaire pour un fichier .tar.gz, inutile pour un .tar nu.
tar -C
Se place dans ce répertoire avant d'extraire, plutôt que dans le répertoire courant. C'est ce qui permet d'extraire une archive ailleurs sans s'y déplacer d'abord.
tar -f
Nomme le fichier d'archive sur lequel travailler. Sans lui, tar s'adresse à l'entrée ou à la sortie standard, ce qui n'est presque jamais ce qu'on voulait.
tar -c
Crée une archive, par opposition à -x qui en extrait. Une lettre les sépare, et les confondre écrase l'archive avec ce qu'on voulait en tirer.
tar -t
Liste le contenu de l'archive sans rien écrire sur le disque. C'est aussi la vérification la moins coûteuse qu'une archive n'est pas tronquée : illisible, elle échoue ici en une seconde.
tar --acls
Inclut les ACL POSIX dans l'archive, ou les rétablit à l'extraction. tar seul les ignore, et une arborescence restaurée retrouve alors des permissions correctes en apparence et un accès réel différent.
tar --xattrs
Inclut les attributs étendus, que tar laisse de côté par défaut. Même raison que --acls : ce qui n'est pas dans l'archive ne revient pas à la restauration.
tar --exclude
Laisse de côté ce qui correspond au motif, écrit avant le chemin source. Une liste explicite vaut mieux qu'un répertoire de construction supposé propre : il contient ce que la dernière commande y a laissé.
tar --exclude-vcs
Exclut les répertoires de gestion de versions — .git en tête — sans avoir à les énumérer. Dans un artefact, l'historique n'a rien à faire.

Les leçons qui l'enseignent