Hay al menos cuatro trabajos separados que a menudo se confunden entre sí porque las herramientas populares los integran:
- Archivo: la capacidad de combinar varios archivos (incluidos los metadatos) en un solo archivo, conservando tantas cosas como sea posible. En el mundo Linux / Unix, el archivo se realiza tradicionalmente en formato de archivo TAR.
- Compresión: la capacidad de minimizar sin pérdidas el tamaño de un flujo de datos binarios. En el mundo Linux / Unix, esto se hace tradicionalmente mediante GZip y BZip2.
- Cifrado: la capacidad de mezclar datos con claves
- Suma de comprobación: la capacidad de detectar (y posiblemente corregir) errores.
La ubicuidad de .tar.gz y .tar.bz corresponde a la filosofía de Unix de las herramientas pequeñas que hacen un solo trabajo bien, sobre una herramienta única que hace todo. El formato de archivo TAR no es compatible con la compresión o el cifrado, pero puede ser comprimido aún más por cualquier compresor (incluso como .tar.zip o .tar.7z). El trabajo de GZip y BZip2 es simplemente comprimir un flujo de archivos a otro flujo de archivos, la capa de compresión no necesita preocuparse de cómo preservar los metadatos, el cifrado o la suma de comprobación. Con el tiempo, sin embargo, varios atajos se han hecho en tar
Programa para trabajar con un compresor más convenientemente.
En formato de archivo zip y 7z, estos trabajos separados son realizados por un solo programa en un solo formato de súper archivo.
¿Por qué la tendencia anterior parece mantenerse, aunque todos estos son formatos portátiles? ¿Hay alguna ventaja en particular al usar un formato de archivo en particular en una plataforma en particular?
Debido a que ha sido así, los códigos fuente del programa se distribuyen tradicionalmente como .tar.gz o .tar.bz2, porque la conservación de los permisos de los archivos, el tiempo de modificación, etc. son importantes para varias herramientas utilizadas para la programación (por ejemplo, make).
El paso separado de compresión y archivo ha funcionado muy bien durante años, tiene una clara ventaja de poder mezclar y combinar libremente el archivo y la compresión, y su desventaja (un proceso de compresión de 2 pasos) se puede evitar fácilmente desarrollando herramientas más inteligentes ( el programa de compresión más moderno de Linux se comprime directamente a .tar.gz o .tar.bz2, ocultando el paso intermedio).
No hay una razón sólida para pasar a otros formatos de archivo, los compresores más nuevos no tienen una tasa de compresión significativamente mejor para justificar la ruptura de la tradición y el tar puede preservar todo lo suficientemente bien.