¿Qué es el formato de archivo BZ2?
.bz2 es un formato de archivo comprimido producido por la utilidad bzip2. A diferencia de un archivo comprimido completo (archive), comprime un solo archivo o flujo de datos; cuando es necesario empaquetar varios archivos, primero se agrupan en un archivo TAR y luego se comprimen juntos, produciendo los paquetes .tar.bz2 (o .tbz2) que se ven en las distribuciones de Linux y proyectos de código abierto.
¿Qué datos contiene un archivo .bz2?
Los archivos .bz2 almacenan datos comprimidos mediante una cadena de algoritmos sin pérdida (lossless):
- Transformada de Burrows-Wheeler (BWT): reorganiza los bloques de datos para agrupar secuencias de bytes repetidas.
- Transformada Move-to-front: aprovecha la localidad producida por la BWT.
- Codificación Run-length (RLE): colapsa secuencias largas de bytes idénticos.
- Codificación Huffman: codifica por entropía el flujo de símbolos resultante.
Los tamaños de bloque oscilan entre 100 KB y 900 KB y se seleccionan en el momento de la compresión; el comando bzip2 por defecto utiliza bloques de 900 KB (firma de archivo BZh9). Cada bloque lleva su propia suma de comprobación CRC-32, y un segundo CRC a nivel de flujo cubre todo el archivo. La utilidad bzip2recover puede rescatar bloques intactos de un archivo parcialmente dañado.
.bz2 en sistemas tipo Unix
Los archivos .bz2 se encuentran normalmente en Linux, macOS y otros entornos tipo Unix, donde bzip2 y bunzip2 son herramientas de línea de comandos estándar. El formato se utiliza ampliamente para distribuir código fuente de software en dichas plataformas.
Soporte en Windows
En Windows, los archivos .bz2 son compatibles con herramientas como 7-Zip, WinRAR y PeaZip. La propia utilidad bzip2 también está disponible como una versión de código abierto para Windows. En comparación con los archivos .gz, .bz2 suele lograr una mejor relación de compresión en texto y código fuente, a costa de una compresión y descompresión más lentas. Los formatos más nuevos, como .xz, a menudo superan ahora a bzip2 tanto en relación de compresión como en velocidad, pero los paquetes .tar.bz2 siguen siendo muy utilizados en la distribución de software de código abierto. Los archivos .bz2 también pueden servir para crear copias de seguridad de diversos datos, como colecciones de imágenes o bibliotecas de documentos.
Seguridad y protección
RIESGO: LOWEl formato bzip2 es abierto y seguro, y un .bz2 es solo datos comprimidos que no pueden ejecutarse por sí solos. Se aplican las precauciones habituales para archivos comprimidos: un .bz2/.tar.bz2 de una fuente no confiable puede contener ejecutables o scripts revelados solo después de la extracción, así que escanee el contenido antes de ejecutar cualquier cosa. Dos notas técnicas: un .bz2 diminuto puede expandirse enormemente («bomba de descompresión»); desconfíe de archivos sospechosamente pequeños; y un .tar.bz2 puede contener rutas «../» (salto de directorio / «tar slip»), así que extraiga tarballs no confiables en una carpeta vacía. Los extractores modernos protegen contra ambos.
Detalles del formato
en pocas palabrasProgramas que abren archivos BZ2
Detalles técnicos
especificación profunda| Tipo MIME | application/x-bzip2 (también application/x-bzip, application/bzip2) |
| Magic bytes | 42 5A 68 («BZh») en el desplazamiento 0 del archivo, seguido de un dígito ASCII «1»-«9» que codifica el tamaño del bloque (ej. BZh9 = bloques de 900 KB) |
| Codificación | Binario - flujo comprimido empaquetado por bits |
| Cadena de compresión | Transformada de Burrows-Wheeler → move-to-front → codificación run-length → codificación Huffman (todas etapas sin pérdida) |
| Tamaño de bloque | Seleccionable desde 100 KB (nivel 1) hasta 900 KB (nivel 9); el valor predeterminado es 900 KB; los bloques más grandes mejoran la relación pero requieren más RAM |
| Uso de memoria | Compresión: aproximadamente 10 veces el tamaño del bloque; descompresión: ~3.5 MB independientemente del tamaño de bloque elegido |
| Comprobación de integridad | Suma de comprobación CRC-32 por bloque comprimido más un CRC de nivel de flujo combinado verificado en la descompresión |
| Marcador de bloque | Cada bloque BWT comienza con la constante pi de 48 bits 0x314159265359, utilizada por bzip2recover para localizar bloques en archivos dañados |
| Modelo de contenedor | Flujo comprimido independiente sin tabla de nombres de archivos interna ni estructura de directorios; varios archivos necesitan un contenedor TAR |
| Compresión paralela | El bzip2 estándar es de un solo hilo; pbzip2 y lbzip2 paralelizan la compresión a nivel de bloque en sistemas multinúcleo |
| Recuperación de bloques | bzip2recover escanea los bytes brutos en busca de marcadores de bloque de 48 bits y escribe cada bloque intacto en un archivo .bz2 recuperable separado |
| Relación de compresión vs. gzip | Normalmente entre un 10 y un 15 % más pequeño que .gz en texto y código fuente; la descompresión es de 2 a 6 veces más lenta |
| Plataformas asociadas | Linux, macOS, Unix/BSD de forma nativa; Windows mediante 7-Zip, WinRAR, PeaZip; CLI de bzip2 disponible para todos los sistemas principales |
| Casos de uso comunes | Tarballs de código fuente de Linux/Unix (.tar.bz2), paquetes de distribución de software, volcados de bases de datos y archivos de registro comprimidos |
| Lanzado | 1996 (bzip 0.21); bzip2 1.0 released 2000 |
| Última versión | bzip2 1.0.8 (2019); format itself unchanged |
| Estándar abierto | Sí · libre de regalías |
| Especificación | sourceware.org |
Conversiones de BZ2
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos BZ2.