219 votes

Quel est l'avantage d'utiliser "goudron" aujourd'hui ?

Je sais que tar a été conçu pour les archives sur bande à l'époque, mais aujourd'hui, nous disposons de formats de fichiers d'archives qui regroupent les fichiers et effectuent la compression dans le même format de fichier logique.

Questions :

  • L'utilisation de l'algorithme d'agrégation/compression/décompression est-elle pénalisante en termes de performances ? tar encapsulé dans gzip o bzip2 par rapport à l'utilisation d'un format de fichier qui effectue l'agrégation et la compression dans la même structure de données ? Supposons que le temps d'exécution du compresseur comparé soit identique (par exemple, gzip et Deflate sont similaires).

  • Y a-t-il des caractéristiques de la tar que d'autres formats de fichiers, tels que .7z y .zip n'ont pas ?

  • Depuis tar est un format de fichier si ancien, alors que des formats de fichier plus récents existent aujourd'hui. tar (qu'ils soient encapsulés dans gzip , bzip2 ou encore le nouveau xz ) encore si largement utilisé aujourd'hui sur GNU/Linux, Android, BSD et d'autres systèmes d'exploitation UNIX de ce type, pour les transferts de fichiers, les téléchargements de sources et de binaires de programmes, et parfois même comme format de gestionnaire de paquets ?

2 votes

C'est une très bonne question. Moi aussi, je n'aime pas du tout leur façon d'installer des logiciels qui ont des noms bizarres ou que je ne peux pas simplement installer avec apt-get. La seule raison pour laquelle je pense que la question sera rejetée est qu'il s'agit plutôt d'une question pour Unix/Linux. Mais SU devrait l'accepter.

3 votes

@Griffin : La question ne porte pas sur l'installation de logiciels à partir de tarballs. Elle concerne l'utilisation du format Tar (par exemple, par rapport à Zip ou RAR).

34 votes

Je ne suis pas d'accord pour dire que cela "fait perdre du temps". Si vous parlez de performances, il n'y a pas de pénalité de performance réelle pour le tar car le format est très efficace. Si vous voulez dire qu'il y a une perte de temps votre temps, je ne vois pas comment tar xvzf est plus difficile que 7z -x ...

14voto

Il y a plusieurs raisons de s'en tenir à (GNU) Tar.

Elle l'est :

  • Sous licence GPL
  • bon dans le sens de la philosophie Unix
    • outil à usage unique, capable d'effectuer plusieurs tâches
  • bien documenté et doté de nombreuses fonctionnalités éprouvées
  • compatible avec plusieurs algorithmes de compression
  • facile à utiliser et les gens ont développé des habitudes avec lui
  • largement disponible
  • Je me sens bien dans mon corps quand j'utilise un logiciel créé par RMS (à l'exclusion de Emacs )

Si votre problème particulier est de devoir "décompresser" une archive avant de pouvoir en lire le contenu, alors vous avez probablement raison. WinRAR y 7-Zip le faire automatiquement. Toutefois, il existe des solutions simples pour contourner ce problème, comme la documentation du contenu d'une archive sous une forme non compressée.

1 votes

C'est un logiciel libre - Comme beaucoup d'autres Il est bon dans ce qu'il fait - A peine comparé à d'autres Il est bien documenté et possède de nombreuses fonctionnalités - Les fonctionnalités sont à peine utilisées et détestablement faciles à utiliser. Il supporte plusieurs algorithmes de compression - Pas autant que d'autres.

4 votes

Les dieux d'Unix l'ont créé - donc nous devons l'utiliser !

28 votes

Tar stocke également les permissions UNIX de manière native, et est très bien connu et testé. Il y a plus d'un cas où l'on peut avoir besoin de regrouper plusieurs fichiers en un seul fichier ou flux, mais pas nécessairement de le compresser.

12voto

guyumu Points 399

Performance

La grande différence réside dans l'ordre dans lequel la compression et l'archivage sont effectués. tar des archives, puis peut éventuellement envoyer les archives à un compresseur, et zip construit l'archive et compresse les données du fichier par morceaux de 32 Ko au fur et à mesure de leur insertion dans l'archive. En décomposant les données du fichier en petits morceaux et en les compressant séparément, il vous permet d'extraire des fichiers ou des parties de fichiers spécifiques sans avoir à décompresser tout ce qui se trouve dans l'archive avant. Il empêche également le compresseur de constituer un très gros dictionnaire avant son redémarrage. Cela signifie que la compression sera plus rapide, mais qu'elle n'offrira pas un aussi bon rapport que la compression de l'ensemble avec un dictionnaire de plus grande taille.

Vous pouvez le visualiser en pensant à deux fichiers, où les 500 premiers octets du second fichier sont les mêmes que les 500 derniers octets du premier. Avec le zip le compresseur est redémarré pour le deuxième fichier, il ne se souvient donc pas que le premier fichier s'est terminé par les mêmes données, il ne peut donc pas supprimer les données en double du deuxième fichier.

Popularité

Il existe de nombreux autres formats qui présentent un certain nombre d'avantages par rapport aux formats suivants tar . 7-Zip ne stocke pas les permissions des fichiers Unix, mais dar fait, et zip et tous trois stockent un index, ce qui permet une navigation rapide, l'extraction d'un sous-ensemble de fichiers et la mise à jour des fichiers dans l'archive. Ils peuvent également utiliser des processeurs multi-cœurs pour la compression.

La raison pour laquelle tout le monde utilise encore tar est la même raison pour laquelle tout le monde utilise toujours Windows, et Flash : les gens n'aiment pas le changement. Sans une forte raison de changer, les gens s'en tiennent à ce qu'ils connaissent. dar n'offre pas suffisamment d'avantages pour justifier la publication de fichiers dans ce format alors que la plupart des gens ont déjà tar installés, et très peu connaissent dar alors la simple inertie nous maintient sur l'ancienne norme.

2 votes

Zip peut stocker et restaurer les permissions Unix. Les utilitaires zip et unzip d'InfoZIP normalement distribués avec le système Unix font cela.

3 votes

Zip ne compresse pas le fichier en morceaux de 32K. Vous confondez la taille de la fenêtre glissante de 32K avec la façon dont la compression est effectuée.

1 votes

Gzip -9 n'a pas un dictionnaire de 900 kB. Tous les niveaux de gzip utilisent un dictionnaire de 32K. Vous pensez peut-être à bzip2.

11voto

xorsyst Points 499

Formats de fichiers comme .zip exiger le logiciel pour lire d'abord la fin du fichier, pour lire un catalogue de noms de fichiers. À l'inverse, tar stocke ces informations avec le flux compressé.

L'avantage de la méthode tar est que vous pouvez décompresser des données tout en les lisant à partir d'un tuyau non recherchable, comme un socket réseau.

L'avantage de la méthode zip est que, pour un fichier statique sur le disque, vous pouvez parcourir le contenu et les métadonnées sans avoir à décompresser l'archive entière au préalable.

Les deux ont leur utilité, selon ce que vous faites.

5 votes

Non, vous pouvez lire et écrire des fichiers zip en tant que flux depuis et vers un pipe.

0 votes

Cela peut être spécifique à une implémentation, mais ce n'est certainement pas supporté par le pkzip original.

1 votes

Oui, le logiciel doit être écrit pour le supporter. Le format zip le supporte complètement, avec des descripteurs de données qui peuvent suivre les données compressées avec les longueurs et le CRC.

11voto

morgan Points 11

Il semble y avoir une certaine réticence à répondre directement à toutes vos questions, avec une préférence apparente pour utiliser votre question comme un point de départ pour la pontification. Je vais donc tenter le coup.

Y a-t-il une pénalité de performance pendant la d'agrégation/compression/décompression pour l'utilisation de tar encapsulé dans gzip ou bzip2, par rapport à l'utilisation d'un format de fichier qui effectue l'agrégation et la compression dans la même structure de données ? Supposons que le temps d'exécution du compresseur comparé soit identique (par ex. gzip et Deflate sont similaires).

Non. En fait, comme tar et gzip sont généralement deux processus, vous bénéficiez même d'un petit avantage en termes de vitesse multi-cœur qu'un archiveur comme zip d'Info-ZIP ne fournit pas. En termes de taux de compression, tar+gzip sera généralement nettement meilleur que zip avec deflate, car le premier peut bénéficier de la corrélation entre les fichiers, alors que le second compresse les fichiers séparément. Cet avantage de compression se traduit par un avantage de vitesse lors de l'extraction, puisqu'une archive plus comprimée se décompresse en moins de temps.

Le format de fichier tar présente-t-il des caractéristiques que d'autres formats de fichier, tels que .7z et .zip, n'ont pas ?

Oui, tar a été conçu pour Unix, et a évolué au fil des ans pour être capable d'enregistrer et de restaurer exactement chaque petit recoin des systèmes de fichiers Unix, même le système de fichiers Unix de Mac OS X, plus bizarre et plus grincheux. zip est capable de conserver une grande partie des métadonnées telles que les permissions, les heures, les propriétaires, les groupes et les liens symboliques, mais pas tout. Par exemple, ni zip ni 7z ne peuvent reconnaître ou tirer profit des fichiers épars, et ils ne sont pas non plus conscients ou capables de restaurer les liens symboliques.

Étant donné que tar est un format de fichier très ancien et qu'il existe des formats de fichier plus récents aujourd'hui, pourquoi tar (qu'il soit encapsulé dans gzip, bzip2 ou même le nouveau format xz) est-il encore si largement utilisé aujourd'hui sur GNU/Linux, Android, BSD, et d'autres systèmes d'exploitation UNIX de ce type, pour les transferts de fichiers, les sources de programmes, etc. systèmes d'exploitation UNIX, pour le transfert de fichiers, le téléchargement des sources et des binaires de programmes, et parfois même comme format de gestionnaire de paquets ?

Il y a beaucoup d'autres bonnes réponses à cela ici. La meilleure est que il fonctionne tout simplement et vous pouvez continuer à le mettre à jour vers de meilleurs formats de compression (par exemple xz) tout en utilisant le même format tar et même le même utilitaire tar compilé. Si vous voulez juste emballer un tas de choses, et tout déballer à l'autre bout, il n'y a guère de raison d'utiliser autre chose que l'un des logiciels les plus anciens, les plus complets et les plus débogués qui existent.

Si vous voulez un accès aléatoire, des mises à jour partielles ou d'autres choses qui nécessitent de traiter le contenu de manière fragmentaire, ou si vous voulez être en mesure de savoir ce qu'il contient sans avoir à le lire en entier, vous devez alors utiliser un format différent.

0 votes

CW signifie Wiki communautaire . Voir aussi Qu'est-ce qu'un poste "Wiki communautaire" ? .

0 votes

Je suppose que c'est CW parce que la question a plus de 15 réponses. Lorsque vous avez posté cette réponse, parce que c'est la 15e, la question et toutes les réponses étaient marquées CW.

0 votes

Je ne vois pas en quoi cette réponse dit quelque chose qu'aucune des autres réponses ne dit, à part citer directement les questions (que j'ai écrites, d'ailleurs, parce que la révision originale de la question était assez horrible pour être fermée en tant que NARQ). Bien essayé cependant.

8voto

mike511 Points 637

Tar a été créé pour faire des sauvegardes complètes de votre système de fichiers, et pas seulement pour transférer des fichiers. En tant que tel, l'utilitaire tar est l'utilitaire le plus complet pour créer une archive qui préserve tout ce qui est important dans la structure de votre système de fichiers.

Cela inclut toutes ces fonctionnalités qui manquent dans un ou plusieurs outils concurrents :

  • propriété des fichiers
  • autorisations de fichiers
  • les autorisations de fichiers moins courantes (par exemple, setuid, sticky bit)
  • liens symboliques
  • liens solides
  • les entrées de périphériques (c'est-à-dire les périphériques de caractères et de blocs)
  • fichiers épars
  • Les entrées ACL ( non supporté par toutes les versions )
  • attributs étendus/utilisateurs ( non supporté par toutes les versions )
  • Étiquettes SElinux ( non supporté par toutes les versions )

Il dispose également de la --one-file-system qui est extraordinairement utile lors de la réalisation de sauvegardes.

Chaque fois qu'une nouvelle fonctionnalité est ajoutée aux systèmes de fichiers, un support est ajouté à la base de données de l'entreprise. tar d'abord (ou même exclusivement). Il reste donc le moyen le plus compatible pour enregistrer des fichiers.

0 votes

Cette réponse est la seule qui ait un sens. Merci de l'avoir postée.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X