DevOps

Maîtriser l’Utilitaire Tar Linux

L’utilitaire de ligne de commande ‘tar’ sur les systèmes d’exploitation basés sur Linux est un outil puissant et polyvalent utilisé pour créer, extraire et manipuler des archives de fichiers. Le nom « tar » provient de « tape archive », un rappel de l’époque où les bandes magnétiques étaient largement utilisées pour stocker des archives de fichiers. Aujourd’hui, bien que les bandes magnétiques ne soient plus la norme, l’outil ‘tar’ reste essentiel dans le monde de la gestion des fichiers sur les systèmes Unix et Linux.

L’une des principales utilisations de ‘tar’ est la création d’archives. Cela consiste à regrouper plusieurs fichiers et répertoires dans un seul fichier, souvent appelé « tarball ». La syntaxe de base pour créer une archive avec ‘tar’ est la suivante :

bash
tar -cvf archive.tar fichier1 fichier2 dossier1
  • ‘c’ : signifie créer une nouvelle archive.
  • ‘v’ : active le mode verbeux, affichant les fichiers pendant le processus.
  • ‘f’ : spécifie le nom du fichier d’archive.

En outre, pour compresser l’archive tout en la créant, on peut utiliser des options supplémentaires telles que ‘z’ pour gzip ou ‘j’ pour bzip2 :

bash
tar -czvf archive.tar.gz fichier1 fichier2 dossier1

ou

bash
tar -cjvf archive.tar.bz2 fichier1 fichier2 dossier1

Une fois que l’archive est créée, il est possible de la décompresser ou d’extraire son contenu. Pour extraire une archive, on utilise la commande suivante :

bash
tar -xvf archive.tar

Dans cette commande, ‘x’ signifie extraire le contenu de l’archive. L’option ‘v’ est toujours là pour le mode verbeux, affichant les fichiers pendant le processus.

Une autre fonctionnalité intéressante de ‘tar’ est sa capacité à créer des archives incrémentielles. Cela signifie que l’on peut mettre à jour une archive existante avec de nouveaux fichiers ou des modifications apportées aux fichiers existants sans avoir à recréer toute l’archive. L’option ‘u’ est utilisée pour cela :

bash
tar -uvf archive.tar nouveau_fichier

En plus des fonctions de base, ‘tar’ offre également des options pour filtrer les fichiers lors de la création ou de l’extraction d’une archive. Par exemple, si l’on ne souhaite inclure que certains types de fichiers, on peut utiliser des motifs avec l’option ‘ –include ‘ :

bash
tar --include='*.txt' -cvf archive.tar dossier

Cette commande crée une archive ne contenant que les fichiers texte du dossier spécifié.

En outre, ‘tar’ prend en charge la compression de différents types, notamment gzip, bzip2, xz, etc. Le choix du type de compression dépend des besoins spécifiques et des préférences. Chaque méthode de compression a ses propres avantages en termes de taux de compression et de vitesse.

En ce qui concerne les droits d’accès, ‘tar’ conserve les permissions des fichiers lors de la création de l’archive. Cela signifie que lors de l’extraction de l’archive, les fichiers auront les mêmes autorisations que lors de la création de l’archive.

Il est également important de noter que ‘tar’ peut être utilisé de manière récursive pour archiver des répertoires et leurs sous-répertoires, préservant ainsi la structure du répertoire lors de l’extraction.

En résumé, l’utilitaire ‘tar’ sur les systèmes d’exploitation Linux est un outil robuste et flexible permettant la création, l’extraction et la manipulation d’archives de fichiers. Son utilisation de base consiste à créer des archives à partir de fichiers et de répertoires, mais il offre également des fonctionnalités avancées telles que la compression, la mise à jour incrémentielle et la filtration des fichiers. Avec sa longue histoire dans le monde Unix, ‘tar’ demeure un élément clé de la boîte à outils des administrateurs système et des utilisateurs avancés.

Plus de connaissances

L’utilitaire ‘tar’ sur les systèmes basés sur Linux offre une gamme étendue de fonctionnalités, en plus de celles déjà mentionnées. Parmi ces caractéristiques, on trouve la possibilité d’archiver des liens symboliques, de conserver les propriétaires et les groupes d’utilisateurs, ainsi que de préserver les horodatages des fichiers. Ces éléments contribuent à la préservation de l’intégrité des données lors de la création et de l’extraction des archives.

Lorsqu’il s’agit d’archiver des liens symboliques, ‘tar’ offre la possibilité de préserver la structure de ces liens ou de les suivre pour inclure les fichiers vers lesquels ils pointent. L’option ‘-h’ permet de suivre les liens symboliques et d’ajouter les fichiers auxquels ils font référence à l’archive. Cette fonctionnalité s’avère utile dans des scénarios où l’on souhaite conserver les liens symboliques tels quels plutôt que de les archiver en tant que liens.

bash
tar -chvf archive.tar dossier

D’un autre côté, si l’on préfère conserver les liens symboliques en tant que tels dans l’archive, sans inclure les fichiers vers lesquels ils pointent, on peut omettre l’option ‘-h’.

bash
tar -cvf archive.tar dossier

En ce qui concerne la conservation des propriétaires et des groupes d’utilisateurs, ‘tar’ a la capacité de conserver les informations d’utilisateur et de groupe lors de la création et de l’extraction d’une archive. Cela garantit que les fichiers extraits conservent les mêmes propriétaires et groupes que ceux de l’archive d’origine. L’utilisation des options ‘-p’ ou ‘–same-owner’ permet d’activer cette fonctionnalité.

bash
tar -cpvf archive.tar dossier

Lorsque l’on extrait une archive, ‘tar’ tente de restaurer les propriétaires et les groupes d’origine des fichiers. Cependant, il est important de noter que cette opération nécessite des privilèges d’administration, sauf si les fichiers extraits appartiennent déjà à l’utilisateur exécutant la commande ‘tar’.

Par ailleurs, ‘tar’ offre la possibilité d’archiver uniquement certains fichiers modifiés après une certaine date. Cela s’avère particulièrement utile dans le contexte des sauvegardes, où l’on ne souhaite archiver que les fichiers qui ont été modifiés récemment. L’option ‘–newer’ est utilisée pour spécifier la date de référence.

bash
tar --newer='2023-01-01' -cvf archive.tar dossier

Cette commande crée une archive ne contenant que les fichiers modifiés après le 1er janvier 2023. Ainsi, ‘tar’ offre une flexibilité considérable pour personnaliser le processus d’archivage en fonction des besoins spécifiques de l’utilisateur.

Un autre aspect essentiel de ‘tar’ est sa capacité à fonctionner avec des flux de données. Plutôt que de créer une archive sur le disque, ‘tar’ peut envoyer le flux directement vers la sortie standard, ce qui permet d’effectuer des opérations en chaîne. Cette fonctionnalité est souvent utilisée en conjonction avec d’autres commandes pour simplifier les tâches administratives.

bash
tar -cvf - dossier | gzip > archive.tar.gz

Cette commande crée une archive et la compresse directement en utilisant ‘gzip’, puis redirige le flux vers un fichier ‘archive.tar.gz’. Cela permet d’économiser de l’espace disque et d’accélérer le processus en évitant de stocker une archive intermédiaire sur le disque.

Enfin, ‘tar’ est compatible avec un grand nombre de formats d’archives. Bien que le format d’archive classique soit le tarball (.tar), ‘tar’ peut également créer des archives compressées, comme mentionné précédemment, dans des formats tels que .tar.gz, .tar.bz2, ou .tar.xz. Ces formats offrent différents niveaux de compression, permettant à l’utilisateur de choisir en fonction de ses besoins en matière d’espace disque et de performance.

En conclusion, l’utilitaire ‘tar’ sur les systèmes d’exploitation Linux est un outil extrêmement polyvalent qui va au-delà de la simple création et extraction d’archives. Avec des fonctionnalités telles que la préservation des liens symboliques, la conservation des propriétaires et des groupes d’utilisateurs, la sélection de fichiers modifiés après une certaine date, la gestion des flux de données, et la prise en charge de divers formats d’archives, ‘tar’ se positionne comme un outil essentiel pour la gestion avancée des fichiers sur les systèmes Unix et Linux. Sa flexibilité et ses fonctionnalités avancées en font un allié puissant pour les administrateurs système et les utilisateurs avancés dans la gestion efficace des données et des sauvegardes.

Bouton retour en haut de la page