Il existe au moins quatre emplois distincts qui sont souvent confondus car les outils populaires les intègrent:
- Archivage: la possibilité de combiner plusieurs fichiers (y compris les métadonnées) en un seul fichier, en préservant autant de choses que possible. Dans le monde Linux / Unix, l'archivage se fait traditionnellement au format de fichier TAR.
- Compression: la capacité de minimiser sans perte la taille d'un flux de données binaires. Dans le monde Linux / Unix, cela se fait traditionnellement par GZip et BZip2.
- Cryptage: la possibilité de brouiller les données avec des clés
- Somme de contrôle: la capacité de détecter (et éventuellement de corriger) les erreurs.
L'omniprésence de .tar.gz et .tar.bz correspond à la philosophie Unix de petits outils qui font bien un seul travail, sur un seul outil qui fait tout. Le format de fichier TAR ne prend pas en charge la compression ou le chiffrement, mais il peut être compressé davantage par n'importe quel compresseur (y compris en tant que .tar.zip ou .tar.7z). Le travail de GZip et BZip2 consiste simplement à compresser un flux de fichiers vers un autre flux de fichiers, la couche de compression n'a pas besoin de savoir comment conserver les métadonnées ou le chiffrement ou la somme de contrôle. Au fil du temps cependant, plusieurs raccourcis ont été créés tar
pour fonctionner plus facilement avec un compresseur.
Au format zip et 7z, ces tâches distinctes sont effectuées par un seul programme dans un seul super format de fichier.
Pourquoi la tendance ci-dessus semble-t-elle se maintenir, même si tous ces formats sont portables? Y a-t-il des avantages particuliers à utiliser un format d'archive particulier sur une plate-forme particulière?
Parce que c'est ainsi que les choses ont été faites, les codes source du programme sont traditionnellement distribués sous la forme .tar.gz ou .tar.bz2, car la préservation des autorisations sur les fichiers, le temps de modification, etc. sont importants pour divers outils utilisés pour la programmation (par exemple, make).
L'étape distincte d'archivage et de compression a très bien fonctionné pendant des années, elle a clairement l'avantage de pouvoir mélanger et assortir librement l'archivage et la compression, et son inconvénient (un processus de compression en 2 étapes) peut être facilement contourné en développant des outils plus intelligents ( le programme de compression linux le plus moderne se compressera directement en .tar.gz ou .tar.bz2, masquant l'étape intermédiaire).
Il n'y a aucune raison valable de passer à d'autres formats de fichiers, les compresseurs plus récents n'ont pas un taux de compression significativement meilleur pour justifier la rupture de la tradition et le tar peut tout bien conserver.