¿Qué es el formato de archivo XZ?
.xz es un formato de archivo comprimido que utiliza el método de compresión XZ. El formato es nativo de XZ Utils, la herramienta de software de referencia desarrollada como parte de The Tukaani Project (una distribución de GNU/Linux basada en Slackware).
XZ y TAR
Un archivo .xz solo puede almacenar un único flujo comprimido y no contiene un árbol de directorios propio. Debido a esto, los archivos .xz se utilizan comúnmente en combinación con archivos TAR - TAR agrupa los archivos seleccionados en un solo archivo, y luego se aplica el algoritmo XZ para la compresión. El archivo resultante lleva el sufijo .tar.xz o .txz.
Algoritmo de compresión LZMA2
La compresión XZ se basa en el algoritmo LZMA2 - una evolución del estándar LZMA original. Permite altas tasas de compresión y da como resultado tamaños de archivo significativamente reducidos: los archivos XZ suelen ser un 30% más pequeños que los archivos GZIP y un 15% más pequeños que los archivos BZIP2. XZ ofrece compresión sin pérdida (lossless) para evitar cualquier pérdida de información.
Notas adicionales
- En comparación con otros métodos de compresión, el proceso de compresión XZ es bastante lento, pero la descompresión es significativamente más rápida.
- Los archivos XZ se utilizan ampliamente para distribuir paquetes de software de Linux, incluidos Slackware y la mayoría de los tarballs de código fuente del kernel.
- El formato
.xzse identifica con el encabezado mágico fijo de 6 bytesFD 37 7A 58 5A 00y verifica la integridad mediante sumas de comprobación CRC64 por bloque y por flujo de forma predeterminada (también se admiten CRC32 y SHA-256). - A principios de 2024, se descubrió que las versiones 5.6.0 y 5.6.1 de XZ Utils contenían una puerta trasera inyectada deliberadamente (CVE-2024-3094) en la biblioteca
liblzma. La especificación del formato de archivo.xzno se ve afectada; solo esos tarballs de compilación específicos se vieron comprometidos.
Seguridad y protección
RIESGO: LOWEl formato .xz no contiene código ejecutable y no puede «ejecutarse»; el riesgo proviene solo de lo que hay dentro (extraiga antes de confiar). Tenga en cuenta el incidente de la cadena de suministro de 2024 (CVE-2024-3094): se insertó una puerta trasera en la compilación liblzma de xz 5.6.0/5.6.1 distribuida en algunos canales de prueba de distribuciones - esto afecta a los binarios de la herramienta/biblioteca, no a los archivos .xz que reciba. Tenga cuidado con los sitios de descarga falsos de «abridores de xz» que incluyen adware; use 7-Zip/PeaZip desde sus páginas oficiales.
Detalles del formato
en pocas palabrasProgramas que abren archivos XZ
tar -xf file.tar.xz (el bsdtar de macOS maneja xz) o instale xz a través de Homebrew. xz -d file.xz para descomprimir, o tar -xf file.tar.xz para tarballs. Preinstalado en la mayoría de las distribuciones. Detalles técnicos
especificación profunda| Algoritmo de compresión | LZMA2 (evolución de LZMA); cadena de filtros opcional con filtros delta y BCJ (branch/call/jump) |
| Estructura del contenedor | Encabezado de flujo → uno o más bloques comprimidos → índice de bloques → pie de página de flujo |
| Magia del encabezado de flujo | FD 37 7A 58 5A 00 - 6 bytes fijos en el desplazamiento 0 |
| Magia del pie de página de flujo | 59 5A («YZ») - siempre los últimos 2 bytes de cada flujo .xz |
| Orden de bytes | Little-endian |
| Tipo MIME | application/x-xz |
| Comprobación de integridad | Sumas de comprobación por bloque y por flujo; CRC64 por defecto; también se admiten CRC32 y SHA-256 |
| Cifrado | Ninguno - sin cifrado integrado; cifre los datos antes de la compresión si es necesario |
| Almacenamiento de archivos | Solo un flujo comprimido; sin nombres de archivos ni árbol de directorios (combinar con .tar para archivos de varios ficheros) |
| Codificación | Binario |
| Tamaño comprimido típico | Desde decenas de KB hasta varios GB; los tarballs del código fuente del kernel de Linux suelen tener entre 50 y 200 MB |
| Relación de compresión frente a alternativas | Normalmente un ~30% más pequeño que gzip y un ~15% más pequeño que bzip2 en código fuente |
| Nota de seguridad | CVE-2024-3094: Los tarballs de XZ Utils 5.6.0/5.6.1 contenían una puerta trasera en liblzma; la especificación del formato de archivo .xz no se ve afectada |
| Soporte de plataformas | Linux, BSD, macOS, Windows (vía XZ Utils, 7-Zip, PeaZip, NanaZip, The Unarchiver) |
| Lanzado | 2009 (XZ Utils 4.999.x / 5.0; format finalized 2009) |
| Última versión | XZ file format 1.0.4 (2009); XZ Utils 5.6.x toolchain |
| Estándar abierto | Sí · libre de regalías |
| Especificación | tukaani.org |
Conversiones de XZ
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos XZ.
Preguntas frecuentes
¿Cómo abro un archivo .xz en Windows?
¿Cuál es la diferencia entre .xz y .tar.xz?
¿Es .xz mejor que .gz o .zip?
¿Se ve afectado el formato de archivo xz por la puerta trasera de xz (CVE-2024-3094)?
¿Cómo descomprimo .xz en Linux?
xz -d file.xz para obtener el archivo original, o tar -xf file.tar.xz para despaquetar un tarball. xz está preinstalado en la mayoría de las distribuciones.