{{tag>archivage format}}
----
====== tar ======
**tar** (tape archiver) est un outil très puissant pour créer et manipuler des archives (un fichier regroupant d'autres fichiers) sous les systèmes Unix et leurs dérivés dont Linux.
Il ne compresse pas les fichiers, mais les concatène au sein d'une seule et même archive. La majorité des programmes linux utilisent ce système d'archivage.
Il est souvent utilisé avec le système de compression **[[wpfr>gzip]]**, donnant alors des archives compressées portant l'extension **.tar.gz**.
===== Installation =====
Le programme tar est disponible par défaut sous Ubuntu. Il fait partie de l'installation minimale.
=====Gérer les .tar avec un logiciel graphique=====
Le format tar (la version en ligne de commande) doit être installé. Il sera utilisé par les logiciels graphiques.
* **Pour extraire une archive**, il suffit de faire un clic-droit sur son fichier (qui sera en **.tar** ou en **.tar.gz**) , puis choisir "Extraire l'archive" (ou formulation équivalente selon votre variante d'Ubuntu, comme "Décompresser l'archive").
* **Pour créer une archive**, il suffit de sélectionner les fichiers à compresser dans son explorateur de fichiers, puis faire un clic-droit, "compresser" (ou un équivalent), choisir le **.tar** ou le **.tar.gz** dans les formats de compression/archivage proposé, et valider.
Les gestionnaires d'archives ne sont donc pas forcément indispensables, mais votre installation d'Ubuntu en a normalement un, permettant d'aller plus loin dans la manipulation des archives (ajouts ou suppressions partielles, par exemple). Si vous en cherchez un autre, consultez [[archivage|cette page]].
=====Utilisation en ligne de commandes=====
Pour tous les formats à base de Tar, vous verrez que les options de tar sont les mêmes :
* **c** : crée l'archive
* **x** : extrait l'archive
* **f** : utilise le fichier donné en paramètre
* **v** : active le mode « verbeux » (bavard, affiche ce qu'il fait).
Puis selon la compression souhaitée :
* **z
** : ajoute la compression Gzip.
* **j** : ajoute la compression Bzip.
* **J** : ajoute la compression Lzma.
==== Utilisation tar seul : concaténation de fichiers ====
Création d'une archive, archivage de plusieurs fichiers :
tar -cvf archive.tar spencel1 fichierarchive2...
De même pour un dossier :
tar -cvf archivedossier.tar dossier/
==== tar : extraction de fichiers ====
tar xvf archivedossier.tar --> désarchive et décompresse
mkdir folder --> créer le dossier pour décompresser si il n'existe pas
tar -xvf archivedossier.tar -C path_folder --> désarchive et décompresse dans un dossier
==== Compression avec gzip (.tar.gz) ====
Création
tar zcvf votre_archive.tar.gz votre_dossier/
Extraction
tar zxvf votre_archive.tar.gz
tar -xvzf votre_archive.tar -C path_folder
Il est possible d'ajouter l'option -C pour définir un dossier d'extraction
L'option z n'est pas indispensable pour la décompression (tar version>1.27)
==== Compression avec Bzip2 (.tar.bz2) ====
**Remarques :** Bzip crée des fichiers beaucoup plus petits que Gzip, mais utilise plus de ressources processeur surtout pour compresser.
Création
tar jcvf votre_archive.tar.bz2 votre_dossier/
Extraction
tar -jxvf votre_archive.tar.bz2
==== Compression avec Lzma (.tar.xz) ====
Ces archives sont des archives Tar compressées avec **Lzma**, un utilitaire de compression libre parmi les plus puissants : c'est la même méthode de compression que celle utilisée par 7zip.
Pour utiliser le format « .xz », [[:tutoriel:comment_installer_un_paquet|installez le paquet]] **[[apt://xz-utils|xz-utils]]**.
Création
tar -Jcvf votre_archive.tar.xz votre_dossier/
Extraction
tar -Jxvf votre_archive.tar.xz
===== Utilisation en archivage incrémentiel =====
==== Pourquoi utiliser un archivage incrémentiel ? ====
La taille des archives et leur stockage peut très vite poser problème. Voici un cas d'utilisation illustrant l'utilité de cet archivage. Vous désirez sauvegarder le /home (données des utilisateurs) toutes les semaines sur un second disque dur, tout en gardant les données antérieures. Vous avez en tout 50 Go de données et le second disque dur fait 500Go. 10% de ces données changent toutes les semaines (5Go). Dans le cas d'une sauvegarde complète, chaque archive fait 50Go, votre disque serait rempli en deux mois.
Nous remarquons que si 10% de ces données changent toutes les semaines, 90% sont identiques et ne nécessitent pas d'être sauvegardées à chaque fois. Il nous faut donc sauvegarder uniquement les nouvelles données en utilisant la sauvegarde incrémentielle. La première sauvegarde est complète, la suivante copie uniquement les nouveaux fichiers et ainsi de suite. Vous gardez ainsi chaque sauvegarde dans l'état à différentes dates.
==== Utilisation ====
Créer la première sauvegarde (sauvegarde complète) :
tar --create --file=archive.1.tar --listed-incremental=/save/save.list /home
Seconde sauvegarde (incrémentée avec uniquement les fichiers ayant changé) :
tar --create --file=archive.2.tar --listed-incremental=/save/save.list /home
Restauration :
tar --extract --listed-incremental=/dev/null --file archive.1.tar
tar --extract --listed-incremental=/dev/null --file archive.2.tar
Utiliser la date pour incrémenter le numéro :
tar --create --file=/save/archive.$(date --rfc-3339=date).tar --listed-incremental=/save/archive.list /home
===== Voir aussi =====
* Portail [[Archivage]]
* [[http://www.gnu.org/software/tar/tar.html|Site officiel de GNU Tar]]
* [[https://www.cachem.fr/compresser-decompresser-targz-linux/|Comment compresser et décompresser un tar.gz sous linux ?]]
*[[http://rd2b-log.blogspot.com/2008/08/linux-utiliser-tar-pour-la-sauvegarde.html|Article expliquant la sauvegarde incrémentielle]] (inaccessible, [[https://web.archive.org/web/20120114081114/http://blog.r-2b.net:80/2008/08/linux-utiliser-tar-pour-la-sauvegarde.html|version cache]])
----
//Contributeurs : [[utilisateurs:guerillero62|guerillero62]].//