in

Quel est l’avantage d’utiliser le format de fichier Tar aujourd’hui?

Le format d’archivage tar est, dans les années informatiques, un véritable Mathusalem mais il est encore largement utilisé aujourd’hui. Qu’est-ce qui rend le format tar si utile longtemps après sa création?

Le lecteur SuperUser MarcusJ est curieux de connaître le format tar et pourquoi nous l’utilisons toujours après toutes ces années:

C’est une question parfaitement raisonnable; tant de choses ont changé dans le monde informatique au cours des trente dernières années, mais nous utilisons toujours le format tar. C’est quoi l’histoire?

Allquixotic, contributeur SuperUser, offre un aperçu de la longévité et des fonctionnalités du format tar:

Partie 1: Performance

Voici une comparaison de deux flux de travail distincts et de ce qu’ils font.

Vous avez un fichier sur le disque blah.tar.gz soit, par exemple, 1 Go de données compressées gzip qui, une fois non compressées, occupent 2 Go (donc un taux de compression de 50%).

La façon dont vous créeriez ceci, si vous deviez faire l’archivage et la compression séparément, serait:

tar cf blah.tar files ...

Cela entraînerait blah.tar qui est une simple agrégation des files ... sous forme non compressée.

Alors tu ferais

gzip blah.tar

Cela lirait le contenu de blah.tar à partir du disque, compressez-les via l’algorithme de compression gzip, écrivez le contenu dans blah.tar.gz, puis dissociez (supprimez) le fichier blah.tar.

Maintenant, décompressons!

Voie 1

Vous avez blah.tar.gz, D’une façon ou d’une autre.

Vous décidez de courir:

gunzip blah.tar.gz

Cette volonté

  • LISEZ le contenu des données compressées de 1 Go blah.tar.gz.
  • TRAITEZ les données compressées via le gzip décompresseur en mémoire.
  • Lorsque la mémoire tampon se remplit d’un «bloc» de données, ÉCRIVEZ les données non compressées dans le fichierblah.tar sur le disque et répétez jusqu’à ce que toutes les données compressées soient lues.
  • Dissocier (supprimer) le fichier blah.tar.gz.

Maintenant vous avez blah.tar sur le disque, qui n’est pas compressé mais contient un ou plusieurs fichiers, avec une surcharge de structure de données très faible. La taille du fichier est probablement supérieure à la somme de toutes les données du fichier.

Vous courez:

tar xvf blah.tar

Cette volonté

  • LISEZ les 2 Go de contenu de données non compressées blah.tar et le tar les structures de données du format de fichier, y compris les informations sur les autorisations de fichier, les noms de fichier, les répertoires, etc.
  • ECRIVEZ sur le disque les 2 Go de données plus les métadonnées. Cela implique: la traduction de la structure de données / des informations de métadonnées en créant de nouveaux fichiers et répertoires sur le disque, le cas échéant, ou la réécriture de fichiers et répertoires existants avec un nouveau contenu de données.

Le total des données que nous LIS à partir du disque dans ce processus était de 1 Go (pour gunzip) + 2 Go (pour tar) = 3 Go.

Le total des données que nous A ÉCRIT sur le disque dans ce processus était de 2 Go (pour gunzip) + 2 Go (pour tar) + quelques octets pour les métadonnées = environ 4 Go.

Voie 2

Vous avez blah.tar.gz, D’une façon ou d’une autre.

Vous décidez de courir:

tar xvzf blah.tar.gz

Cette volonté

  • LISEZ le contenu des données compressées de 1 Go blah.tar.gz, un bloc à la fois, en mémoire.
  • TRAITEZ les données compressées via le gzip décompresseur en mémoire.
  • Lorsque la mémoire tampon se remplit, elle tuyau ces données, en mémoire, jusqu’aux tar analyseur de format de fichier, qui lira les informations sur les métadonnées, etc. et les données de fichier non compressées.
  • Au fur et à mesure que la mémoire tampon se remplit, tar analyseur de fichiers, il ÉCRIT les données non compressées sur le disque, en créant des fichiers et des répertoires et en les remplissant avec le contenu non compressé.

Le total des données que nous LIS à partir du disque dans ce processus était de 1 Go de données compressées, point final.

Le total des données que nous A ÉCRIT sur le disque dans ce processus était de 2 Go de données non compressées + quelques octets pour les métadonnées = environ 2 Go.

Si vous remarquez, la quantité d’E / S disque en Voie 2 est aux E / S disque effectuées par, disons, le Zip ou7-Zip programmes, en ajustant les différences de taux de compression.

Et si le taux de compression est votre préoccupation, utilisez le Xz compresseur à encapsuler tar, et vous avez l’archive TAR de LZMA2, qui est tout aussi efficace que l’algorithme le plus avancé disponible pour 7-Zip 🙂

Partie 2: Caractéristiques

tar stocke les autorisations UNIX dans ses métadonnées de fichier, et est très bien connu et testé pour emballer avec succès un répertoire avec toutes sortes d’autorisations différentes, de liens symboliques, etc. Il y a plus que quelques cas où l’on pourrait avoir besoin de regrouper un tas de fichiers dans un seul fichier ou flux, mais pas nécessairement le compresser (bien que la compression soit utile et souvent utilisée).

Partie 3: Compatibilité

De nombreux outils sont distribués sous forme source ou binaire comme .tar.gz ou .tar.bz2 car il s’agit d’un format de fichier au «plus petit dénominateur commun»: tout comme la plupart des utilisateurs de Windows ont accès aux décompresseurs .zip ou .rar, la plupart des installations Linux, même les plus élémentaires, auront accès au moins au goudron et au gunzip, peu importe leur âge ou leur réduction. Même les firmwares Android ont accès à ces outils.

Les nouveaux projets ciblant des publics exécutant des distributions modernes peuvent très bien être distribués dans un format plus moderne, tel que .tar.xz (en utilisant le format de compression Xz (LZMA), qui compresse mieux que gzip ou bzip2), ou .7z, qui est similaire à les formats de fichier Zip ou Rar dans la mesure où il compresse et spécifie à la fois une disposition pour encapsuler plusieurs fichiers dans un seul fichier.

Vous ne voyez pas .7z utilisé plus souvent pour la même raison que la musique n’est pas vendue dans les magasins de téléchargement en ligne dans de nouveaux formats comme Opus ou la vidéo dans WebM. Compatibilité avec les personnes exécutant des systèmes anciens ou très basiques.

Avez-vous quelque chose à ajouter à l’explication? Sonnez dans les commentaires. Vous voulez lire plus de réponses d’autres utilisateurs de Stack Exchange férus de technologie? Consultez le fil de discussion complet ici.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Comment transformer une tablette Android ou Fire en un appareil adapté aux enfants avec FreeTime

Comment transformer une tablette Android ou Fire en un appareil adapté aux enfants avec FreeTime

Comment sauvegarder et restaurer les signatures dans Outlook 2013

Comment sauvegarder et restaurer les signatures dans Outlook 2013