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 el mundo de Linux y de código abierto, combinando el empaquetado TAR nativo de Unix con la compresión Gzip universal.
Inspeccionar 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 envuelto dentro de 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) | Orden de bytes Little-Endian para envoltorio gzip conteniendo bloques tar POSIX en octal |
| Espacios de color | N/A (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 de archivo en flujo ilimitado |
| 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 | Preservación POSIX 100% nativa | Limitado / a menudo se pierde | Atributos básicos preservados | Preservación POSIX 100% nativa |
| Relación de compresión | Moderada (Gzip DEFLATE) | Moderada (ZIP DEFLATE) | Muy alta (LZMA2) | Alta (Bzip2 BWT) |
| Velocidad de descompresión | Rápida (~300 MB/s) | Rápida (~300 MB/s) | Moderada (~100 MB/s) | Lenta (~40 MB/s) |
| Estándar del ecosistema Linux | Predeterminado universal de código abierto | Predeterminado de escritorio para consumidores | Favorito de entusiastas de Windows | Lanzamientos de código fuente de Linux heredados |
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: Intente la recuperación parcial utilizando File2File Archive Extractor o '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 estilo bomba ZIP donde un archivo .tar.gz pequeño se expande en terabytes de ceros.
- Recorrido de directorios (p. ej., '../../root/.ssh/authorized_keys') sobrescribiendo archivos privilegiados.
- Creación maliciosa de nodos de dispositivos durante la extracción como root.
Mejores prácticas defensivas: Extraiga los archivos como usuarios sin privilegios y desinfecte todas las rutas de archivos de destino contra el recorrido de directorios.
Orígenes históricos e hitos
Ventajas clave y pros
- El estándar indiscutible para lanzamientos de código fuente de código 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 confiable y rápida.
- Totalmente apto para streaming: se puede descargar, descomprimir y desempaquetar a través de tuberías de red sin escribir archivos temporales en el disco.
Limitaciones técnicas y contras
- Extraer un solo archivo requiere descomprimir todo el archivo hasta la ubicación de ese archivo.
- Menor relación de compresión que alternativas modernas como .tar.xz o .tar.zst.
- Menos intuitivo en sistemas Windows heredados en comparación con los archivos .zip universales.
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.
- Los usuarios de Linux recuerdan famosamente el comando para extraer un archivo tar.gz con la mnemotecnia 'eXtract Ze File': tar -xzf file.tar.gz.
Preguntas técnicas frecuentes
¿Cuál es la diferencia entre .tar.gz y .zip?
.zip comprime cada archivo individualmente y tiene un directorio central al final. .tar.gz combina todos los archivos en un solo flujo primero, preservando los permisos completos de Linux y los enlaces simbólicos.
¿Es .tgz lo mismo que .tar.gz?
Sí. .tgz es simplemente una extensión de archivo abreviada de 3 letras para .tar.gz, creada originalmente para sistemas operativos con límites de nombres de archivo cortos de 8.3 como DOS.
¿Cómo puedo extraer un archivo .tar.gz en Windows?
Puede extraer archivos .tar.gz directamente en su navegador web usando File2File.app sin instalar WinRAR o 7-Zip.