Lorsque vous parcourez des projets open source principalement développés pour les systèmes Linux et téléchargez les derniers packages, le code source est toujours stocké dans un fichier .tar.gz ou .tar.bz2.
Y a-t-il une raison d'utiliser .tar.gz ou .tar.bz2 plutôt que quelque chose comme .zip ou .rar ou un autre algorithme de compression (ou même le laisser non compressé si le projet est assez petit)?
open-source
history
packages
Joe Z.
la source
la source
tar
(c'est-à-dire, Tape Archiver) était déjà un standard de facto.ftp.gnu.org
, par exemple. C'est ce sur quoi repose tout Internet. Et, j'espère, tout le monde conviendra que ZIP est de toute façon technologiquement inférieur.Réponses:
Pour répondre à la question dans la rubrique: tar.gz / tar.bz2 est devenu la norme pour la distribution du code source Linux il y a très très très longtemps, comme en bien plus de 2 décennies, et probablement quelques autres. De manière significative avant même que Linux n'ait vu le jour.
En fait, le goudron signifie (t) ape (ar) ciboulette. Pensez bobine dur, et vous aurez une idée à quel âge il est. ba-dum-bump.
Avant que les gens aient des graveurs de CD, des distributions de logiciels étaient publiées sur des disquettes de 1,44 Mo. Le fichier tar compressé a été découpé en morceaux de la taille d'une disquette par la
split
commande, et ces morceaux ont été appelés tarballs . Vous les regrouperiezcat
et extrairiez l'archive.Pour répondre à l'autre question de savoir pourquoi pas Zip ou Rar, c'est facile. L'archiveur tar provient d'Unix, tandis que les deux autres proviennent de MS-DOS / Windows. Tar gère les métadonnées des fichiers Unix (autorisations, heures, etc.), tandis que zip et rar ne l'ont fait que très récemment (ils stockaient les données des fichiers MS-DOS). En fait, zip a pris un certain temps avant de commencer à stocker correctement les métadonnées NTFS (flux alternatifs, descripteur de sécurité, etc.).
De nombreux algorithmes de compression dans PKZip sont la propriété du fabricant d'origine, et le dernier ajouté aux versions Dos / Windows était Deflate (RFC 1951) qui fonctionnait un peu mieux qu'Implode, l'algo propriétaire qui produisait la meilleure compression générale. . Gzip utilise l'algorithme Deflate.
L'algorithme de compression RAR est propriétaire, mais il existe une mise en œuvre open source gratuite du décompresseur. Les versions officielles de RAR et WinRAR de RARlab ne sont pas gratuites .
Gzip utilise l'algorithme de dégonflage, et n'est donc pas pire que PKZip. Bzip2 obtient des taux de compression légèrement meilleurs.
Version TL; DR:
tar.gz et tar.bz2 sont d'Unix, donc les gens Unix les utilisent. Zip et Rar sont du monde DOS / Windows, donc les gens DOS / Windows les utilisent.
tar
est la norme pour regrouper des archives de trucs dans * nix depuis plusieurs décennies.la source
Je ne sais pas quand, mais j'imagine que la raison pour laquelle il est utilisé est une combinaison de: tar étant traditionnel (il est très ancien); gestion facile à partir d'une ligne de commande; tar préservant les informations du système de fichiers que ZIP ou RAR ne peuvent pas; et le processus en deux passes signifie que la compression est plus efficace (un gros fichier se comprime mieux que de nombreux petits fichiers).
bzip2 (.bz2) semble déplacer gzip (.gz) car il offre une meilleure compression, de la même manière que gzip lui-même a déplacé la compression précédente (.Z).
la source
L'archivage et la compression sont essentiellement deux opérations différentes. Le tar.gz montre très clairement l'intention: une archive compressée tandis qu'un .zip ou .rar montre juste que c'est du contenu compressé.
la source
tar
est traditionnel sous unix, il combine des fichiers mais ne les comprime pas nécessairement. Les compresser avec .g ou .bz ou .b2 est tout aussi simple.Zip
etrar
sont convenables et plus courants dans le monde Windowsla source
C'est traditionnel, omniprésent et ça marche. De plus, je pensais que c'était quelque peu évident.
Mise à jour
Mes excuses, j'oublie que la plupart des gens ne savent pas ce que je sais ou ont de l'expérience en tant qu'administrateur dans des environnements hétérogènes.
Tradition comme dans une coutume ou une pratique ancrée dans le temps. Nous savons qu'il a une base dans l'histoire parce que tar dérive de Tape ARchive référençant l'ancienne technologie de sauvegarde sur bande. Il a une longue histoire dans les différents systèmes d'exploitation Unix remontant à 1979 dans la 7e édition d'Unix où il a remplacé tp. Les systèmes Linux sont généralement une fusion du noyau Linux et du logiciel GNU dont GNU tar fait partie. Toute cette histoire de tar signifie qu'une majorité de techniciens expérimentés savent comment l'utiliser sans avoir à se référer à la documentation car elle est enracinée. Pour les utilisateurs plus récents, la documentation est abondante car le logiciel existe depuis si longtemps.
Omniprésent comme en apparaissant ou trouvé partout. Une mauvaise utilisation quelque peu acceptée est lorsque l'apparence n'est pas universelle, mais dans un pourcentage suffisamment important de la population pour être acceptée comme omniprésente. 7ème édition Unix est l'ancêtre des plus grandes versions d'Unix , y compris Sun OS / Solaris, AIX, HPUX, AIX, BSD, etc . Il existe également un haut degré de compatibilité croisée entre les différentes implémentations de tar sous unix . Depuis MacOS (depuis OS 10) a été basé sur BSD, il a également tar. Linux utilise un logiciel GNU qui inclut GNU Tar, donc tar est disponible sur toutes les versions de Linux. ET, bien que non disponible en tant que module intégré, de nombreuses implémentations de tar sont disponibles sur Windows, y compris GNU Tar via cygwin et nativement. GNU Tar en particulier est disponible sur la plupart des Unices et Windows, ce qui en fait le bon choix pour les migrations de fichiers entre les systèmes d'exploitation.
Fonctionne comme il fonctionne depuis longtemps sans modifications majeures. Il est disponible sur toutes les principales plates-formes (sauf pour Windows, où il est disponible en tant que logiciel supplémentaire). Le format est également pris en charge sur toutes les principales plates-formes, ce qui facilite l'échange entre les plates-formes. Non seulement il est toujours utilisé pour créer des archives facilement portables, mais un tar-pipe est un idiome Unix standard pour copier des arborescences de répertoires, en particulier dans des environnements hétérogènes. Bref, il existe depuis toujours et est toujours très utilisé car il fait ce qu'il fait bien.
la source