La commande Linux tar est le couteau suisse de l'administrateur Linux lorsqu'il s'agit d'archiver ou de distribuer des fichiers. Les archives Gnu Tar peuvent contenir plusieurs fichiers et répertoires, les autorisations de fichiers peuvent être préservées et il prend en charge plusieurs formats de compression. Le nom tar signifie "T singe Ar frissonner", le format est un standard POSIX officiel.
Formats de fichier tar
Une courte introduction aux niveaux de compression tar.
- Pas de compression Les fichiers non compressés se terminent par .tar.
- Compression Gzip Le format Gzip est le format de compression le plus largement utilisé pour tar, il est rapide pour créer et extraire des fichiers. Les fichiers avec compression gz ont normalement la terminaison de fichier .tar.gz ou .tgz. Vous trouverez ci-dessous quelques exemples de création et d'extraction d'un fichier tar.gz.
- Compression Bzip2 Le format Bzip2 offre une meilleure compression que le format Gzip. La création de fichiers est plus lente, la fin du fichier est généralement .tar.bz2.
- Compression Lzip (LZMA) La compression Lzip combine la vitesse de Gzip avec un niveau de compression similaire à Bzip2 (voire mieux). Indépendamment de ces bons attributs, ce format n'est pas largement utilisé.
- Compression Lzop Cette option de compression est probablement le format de compression le plus rapide pour tar, il a un niveau de compression similaire à gzip et n'est pas largement utilisé.
Les formats courants sont tar.gz et tar.bz2. Si votre objectif est une compression rapide, utilisez gzip. Lorsque la taille du fichier d'archive est critique, utilisez tar.bz2.
À quoi sert la commande tar ?
Voici quelques cas d'utilisation courants de la commande tar.
- Sauvegarde des serveurs et des postes de travail.
- Archivage de documents.
- Distribution de logiciels.
Installation de tar
La commande est installée par défaut sur la plupart des systèmes Linux. Voici les instructions pour installer tar au cas où la commande serait manquante.
CentOS
Exécutez la commande suivante en tant qu'utilisateur root sur le shell pour installer tar sur CentOS.
yum install tar
Ubuntu
Cette commande installera tar sur Ubuntu. La commande "sudo" garantit que la commande apt est exécutée avec les privilèges root.
sudo apt-get install tar
Debian
La commande apt suivante installe tar sur Debian.
apt-get install tar
Windows
La commande tar est également disponible pour Windows, vous pouvez la télécharger à partir du projet Gunwin. http://gnuwin32.sourceforge.net/packages/gtar.htm
Créer des fichiers tar.gz
Voici la commande tar qui doit être exécutée sur le shell. Je vais vous expliquer les options de ligne de commande ci-dessous.
tar pczf myarchive.tar.gz /home/till/mydocuments
Cette commande crée l'archive myarchive.tar.gz qui contient les fichiers et dossiers du chemin /home/till/ mes documents. Explication des options de ligne de commande :
- [p] Cette option signifie "conserver", elle demande à tar de stocker les détails sur le propriétaire du fichier et les autorisations de fichier dans l'archive.
- [c] Signifie créer . Cette option est obligatoire lors de la création d'un fichier.
- [z] L'option z active la compression gzip.
- [f] L'option file indique à tar de créer un fichier d'archive. Tar enverra la sortie vers stdout si cette option est omise.
Exemples de commandes Tar
Exemple 1 :Sauvegarder le répertoire /etc Créez une sauvegarde du répertoire de configuration /etc. La sauvegarde est stockée dans le dossier racine.
tar pczvf /root/etc.tar.gz /etc
La commande doit être exécutée en tant que root pour s'assurer que tous les fichiers dans /etc sont inclus dans la sauvegarde. Cette fois, j'ai ajouté l'option [v] dans la commande. Cette option signifie verbeuse, elle indique à tar d'afficher tous les noms de fichiers ajoutés à l'archive. Exemple 2 :Sauvegardez votre répertoire /home Créez une sauvegarde de votre répertoire personnel. La sauvegarde sera stockée dans un répertoire /backup.
tar czf /backup/myuser.tar.gz /home/myuser
Remplacer monutilisateur avec votre nom d'utilisateur. Dans cette commande, j'ai omis le commutateur [p], donc les autorisations ne sont pas conservées. Exemple 3 :Une sauvegarde basée sur des fichiers de bases de données MySQL Les bases de données MySQL sont stockées dans /var/lib/mysql sur la plupart des distributions Linux. Vous pouvez le vérifier avec la commande :
ls /var/lib/mysql
Arrêtez le serveur de base de données pour obtenir une sauvegarde de fichier MySQL cohérente avec tar. La sauvegarde sera écrite dans le dossier /backup. 1) Créez le dossier de sauvegarde
mkdir /backup chmod 600 /backup
2) Arrêtez MySQL, exécutez la sauvegarde avec tar et redémarrez le serveur de base de données.
service mysql stop tar pczf /backup/mysql.tar.gz /var/lib/mysql service mysql start ls -lah /backup
Extraire les fichiers tar.gz
La commande pour extraire les fichiers tar.gz est :
tar xzf myarchive.tar.gz
Les options de la commande tar expliquées
- [x] Le x signifie extrait, il est obligatoire lorsqu'un fichier tar doit être extrait.
- [z] L'option z indique à tar que l'archive qui doit être décompressée est au format gzip.
- [f] Cette option demande à tar de lire le contenu de l'archive à partir d'un fichier, dans ce cas le fichier myarchive.tar.gz.
La commande tar ci-dessus extraira silencieusement ce fichier tar.gz, elle n'affichera que les messages d'erreur. Si vous souhaitez voir quels fichiers sont extraits, ajoutez l'option "v".
tar xzvf myarchive.tar.gz
Le [v] option signifie verbeux, il affichera les noms de fichiers pendant qu'ils sont décompressés.