Archivo Tar Gzip (.tar.gz)
POSIX.1 EstándarTar Gzip (.tar.gz, también conocido como .tgz) es el formato estándar de distribución de software y empaquetado de archivos en los entornos Linux y de código abierto; combina el empaquetado TAR nativo de Unix con la compresión Gzip universal.
Inspección y metadatos
Los sistemas operativos y analizadores de archivos identifican los archivos de TAR.GZ inspeccionando la secuencia de bytes binarios inicial:
Firma de cabecera a nivel de bytes (bytes mágicos)
Los sistemas operativos y analizadores de archivos identifican los archivos de TAR.GZ inspeccionando la secuencia de bytes binarios inicial:
FIRMA HEXADECIMAL (DESPLAZAMIENTO 0):
1F 8B 08REPRESENTACIÓN ASCII: ..\x08
Estandarización: POSIX.1 ustar (envuelto en Gzip RFC 1952)
Especificaciones técnicas
| Arquitectura del contenedor | Flujo de archivo tar POSIX ustar / GNU encapsulado en un contenedor de compresión Gzip RFC 1952 |
| Compresión | Empaquetado en dos etapas: serialización TAR seguida de compresión DEFLATE |
| Orden de bytes (Endianness) | Enteros little-endian en la cabecera Gzip; bloques tar POSIX en octal |
| Espacios de color | No aplicable (contenedor de archivo) |
| Canales y estructura | Árboles de directorios Unix de múltiples archivos, enlaces simbólicos, propiedad de archivos y bits de permisos |
| Dimensiones máximas | Tamaño ilimitado para archivos transmitidos en flujo |
| Transparencia | Preservación sin pérdida idéntica a nivel de bit de estructuras y datos del sistema de archivos |
| Streaming y progresivo | Flujo continuo de extremo a extremo: descomprimir y extraer simultáneamente en una sola pasada |
Matriz de comparación técnica: TAR.GZ frente a la competencia
| Atributo técnico | TAR.GZ (Actual) | ZIP | 7Z | TAR.BZ2 |
|---|---|---|---|---|
| Permisos de Unix | Conserva el 100 % de los atributos POSIX | Limitado / a menudo se pierde | Atributos básicos preservados | Conserva el 100 % de los atributos POSIX |
| Relación de compresión | Moderada (Gzip DEFLATE) | Moderada (ZIP DEFLATE) | Muy alta (LZMA2) | Alta (Bzip2 BWT) |
| Velocidad de descompresión | Rápida (aprox. 300 MB/s) | Rápida (aprox. 300 MB/s) | Moderada (aprox. 100 MB/s) | Lenta (aprox. 40 MB/s) |
| Estándar del ecosistema Linux | Predeterminado universal de código abierto | Predeterminado en equipos de consumo | Favorito de los entusiastas de Windows | Versiones históricas del código fuente de Linux |
Modos de corrupción comunes y guía de recuperación hexadecimal
La línea de comandos informa 'gzip: stdin: invalid compressed data--format violated'.
Causa raíz: Bytes corruptos en el contenedor Gzip o descarga truncada.
Recuperación: Intenta recuperar parte de los datos con el extractor de archivos de File2File.app o con «tar -izxf broken.tar.gz».
Análisis de seguridad y vectores de ataque al analizador
Los archivos TAR.GZ combinan los riesgos de bombas de compresión y ataques de recorrido de directorios si se extraen sin precaución.
Vectores de ataque conocidos
- Amplificación similar a una bomba ZIP: un archivo .tar.gz pequeño se expande hasta ocupar terabytes con ceros.
- Recorrido de directorios (p. ej., «../../root/.ssh/authorized_keys») que sobrescribe archivos con privilegios.
- Creación maliciosa de nodos de dispositivo durante la extracción como usuario root.
Mejores prácticas defensivas: Extrae los archivos como usuario sin privilegios y sanea todas las rutas de destino para evitar recorridos de directorios.
Orígenes históricos e hitos
Ventajas principales
- Es el estándar para publicar código fuente abierto, paquetes de Linux y capas de contenedores Docker.
- Combina la preservación completa de permisos POSIX y enlaces simbólicos con una compresión Gzip fiable y rápida.
- Admite la transmisión en flujo de principio a fin: permite descargar, descomprimir y extraer archivos a través de conexiones de red sin guardarlos temporalmente en el disco.
Limitaciones técnicas
- Extraer un solo archivo requiere descomprimir todo el archivo hasta llegar a su ubicación.
- Menor relación de compresión que alternativas modernas como .tar.xz o .tar.zst.
- Menos intuitivo en sistemas Windows antiguos que el formato ZIP, ampliamente compatible.
Curiosidades técnicas interesantes
- En sistemas MS-DOS con límites de nombres de archivo de 8.3, «.tar.gz» se abreviaba como «.tgz».
- Cada vez que ejecutas 'npm install', npm descarga y extrae paquetes .tgz (tar.gz) en segundo plano.
- En Linux, es conocida la mnemotecnia «eXtract Ze File» para recordar el comando de extracción de archivos tar.gz: tar -xzf file.tar.gz.
Preguntas técnicas frecuentes
¿Cuál es la diferencia entre .tar.gz y .zip?
.zip comprime cada archivo por separado y tiene un directorio central al final. .tar.gz primero agrupa todos los archivos en un único flujo y conserva los permisos completos de Linux y los enlaces simbólicos.
¿Es .tgz lo mismo que .tar.gz?
Sí. .tgz es una extensión abreviada de tres letras para .tar.gz, creada originalmente para sistemas operativos con nombres de archivo limitados a 8.3 caracteres, como DOS.
¿Cómo puedo extraer un archivo .tar.gz en Windows?
Puedes extraer archivos .tar.gz directamente en el navegador con File2File.app, sin instalar WinRAR ni 7-Zip.