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

Table des matières:

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

Vidéo: Quel est l'avantage d'utiliser le format de fichier Tar aujourd'hui?

Vidéo: Quel est l'avantage d'utiliser le format de fichier Tar aujourd'hui?
Vidéo: WINDOWS 10 : on vous parle d'ACCESSIBILITÉ et d'ERGONOMIE ! ♿️ - YouTube 2024, Novembre
Anonim
 Le format d'archivage de goudron est, dans les années de calcul, un véritable Mathusalem, mais il est encore très utilisé aujourd'hui. Qu'est-ce qui rend le format tar si utile longtemps après sa création?
Le format d'archivage de goudron est, dans les années de calcul, un véritable Mathusalem, mais il est encore très utilisé aujourd'hui. Qu'est-ce qui rend le format tar si utile longtemps après sa création?

La séance de questions et réponses d’aujourd’hui nous est offerte par SuperUser, une sous-division de Stack Exchange, un groupe de sites Web de questions-réponses dirigé par la communauté.

La question

Le lecteur de SuperUser, MarcusJ, s’interroge sur le format de tar et pourquoi nous l’utilisons toujours après toutes ces années:

I know that tar was made for tape archives back in the day, but today we have archive file formats that both aggregate files and perform compression within the same logical file format.

Questions:

  • Is there a performance penalty during the aggregation/compression/decompression stages for using tar encapsulated in gzip or bzip2, when compared to using a file format that does aggregation and compression in the same data structure? Assume the runtime of the compressor being compared is identical (e.g. gzip and Deflate are similar).
  • Are there features of the tar file format that other file formats, such as.7z and.zip do not have?
  • Since tar is such an old file format, and newer file formats exist today, why is tar (whether encapsulated in gzip, bzip2 or even the new xz) still so widely used today on GNU/Linux, Android, BSD, and other such UNIX operating systems, for file transfers, program source and binary downloads, and sometimes even as a package manager format?

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?

La réponse

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

Part 1: Performance

Here is a comparison of two separate workflows and what they do.

You have a file on disk

blah.tar.gz

ce qui correspond, par exemple, à 1 Go de données compressées par gzip qui, lorsqu'elles sont décompressées, occupent 2 Go (soit un taux de compression de 50%).

La manière dont vous créeriez ceci, si vous archiviez et compressiez séparément, serait la suivante:

tar cf blah.tar files …

Cela se traduirait par

blah.tar

qui est une simple agrégation de la

files …

sous forme non compressée.

Alors tu ferais

gzip blah.tar

Cela lirait le contenu de

blah.tar

depuis le 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

Tu as

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 compressé de 1 Go de

    blah.tar.gz

  • TRAITER les données compressées à travers le

    gzip

    décompresseur en mémoire.

  • Au fur et à mesure que la mémoire tampon se remplit avec «un bloc» de données, ÉCRIVEZ les données non compressées dans le fichier.

    blah.tar

    sur le disque et répéter jusqu'à ce que toutes les données compressées soient lues.

  • Dissocier (supprimer) le fichier

    blah.tar.gz

Maintenant vous avez

blah.tar

sur disque, non compressé mais contenant un ou plusieurs fichiers, avec une surcharge de structure de données très faible. La taille du fichier est probablementquelques octets plus grande que 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é de

    blah.tar

    et le

    tar

    structures de données du format de fichier, y compris des informations sur les autorisations de fichier, les noms de fichier, les répertoires, etc.

  • ECRIVEZ sur disque les 2 Go de données plus les métadonnées. Cela implique: la traduction des informations de structure de données / métadonnées en création de nouveaux fichiers et répertoires sur le disque, le cas échéant, ou la réécriture de fichiers et de répertoires existants avec un nouveau contenu de données.

Le total des données que nous LIS du disque dans ce processus était de 1 Go (pour gunzip) + 2 Go (pour le goudron) = 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 les fichiers tar) + quelques octets pour les métadonnées = environ 4 Go.

Voie 2

Tu as

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 compressé de 1 Go de

    blah.tar.gz

    un bloc à la fois, en mémoire.

  • TRAITER les données compressées à travers le

    gzip

    décompresseur en mémoire.

  • Au fur et à mesure que la mémoire tampon se remplit, tuyau ces données, en mémoire, à travers le

    tar

    analyseur de format de fichier, qui lira les informations sur les métadonnées, etc., ainsi que les données de fichier non compressées.

  • Comme la mémoire tampon se remplit dans la

    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 de disque dans ce processus était 1 Go de données compressées, période.

Le total des données que nous A ÉCRIT sur le disque dans ce processus était 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 de disque dans Voie 2 estidentique au disque I / O effectué par, par exemple, le

Zip

ou

7-Zip

programmes, en tenant compte des différences de taux de compression.

Et si le taux de compression vous préoccupe, utilisez le

Xz

compresseur à encapsuler

tar

et vous avez l'archive TAR de LZMA2, qui est 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. Il est très bien connu et testé pour compacter avec succès un répertoire avec toutes sortes d'autorisations différentes, des liens symboliques, etc. Il existe plusieurs cas où il peut être nécessaire d'insérer un groupe 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 binaire ou source sous la forme de fichiers.tar.gz ou.tar.bz2 car il s’agit d’un format de fichier «plus petit commun dénominateur»: comme la plupart des utilisateurs Windows ont accès aux décompresseurs.zip ou.rar, la plupart des installations Linux, même les plus élémentaires auront au moins accès à tar et à gunzip, quel que soit leur âge ou leur finesse. Même les firmwares Android ont accès à ces outils.

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

Vous ne voyez pas l’utilisation plus fréquente de.7z 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 que la vidéo dans WebM. Compatibilité avec les utilisateurs de systèmes anciens ou très basiques.

Avez-vous quelque chose à ajouter à l'explication? Sound off dans les commentaires.Voulez-vous lire plus de réponses d'autres utilisateurs de Stack Exchange doués en technologie? Découvrez le fil de discussion complet ici.

Conseillé: