Che cos'è il formato di file BZ2?
.bz2 è un formato di file compresso prodotto dall'utility bzip2. A differenza di un archivio completo, comprime un singolo file o flusso di dati - quando è necessario pacchettizzare più file, questi vengono prima raggruppati in un archivio TAR e poi compressi insieme, producendo i pacchetti .tar.bz2 (o .tbz2) comuni nelle distribuzioni Linux e nei progetti open-source.
Quali dati contiene un file .bz2?
I file .bz2 memorizzano dati compressi utilizzando una pipeline di algoritmi lossless:
- Trasformata di Burrows-Wheeler (BWT) - riorganizza i blocchi di dati per raggruppare sequenze di byte ripetute
- Trasformata Move-to-front - sfrutta la località prodotta dalla BWT
- Run-length encoding (RLE) - riduce lunghe sequenze di byte identici
- Codifica di Huffman - codifica l'entropia del flusso di simboli risultante
Le dimensioni dei blocchi variano da 100 KB a 900 KB e vengono selezionate al momento della compressione; il comando bzip2 predefinito utilizza blocchi da 900 KB (file signature BZh9). Ogni blocco porta il proprio checksum CRC-32 e un secondo CRC a livello di flusso copre l'intero file. L'utility bzip2recover può recuperare blocchi intatti da un archivio parzialmente danneggiato.
.bz2 su sistemi Unix-like
I file .bz2 si trovano tipicamente su Linux, macOS e altri ambienti Unix-like, dove bzip2 e bunzip2 sono strumenti CLI standard. Il formato è ampiamente utilizzato per la distribuzione di codice sorgente software su tali piattaforme.
Supporto Windows
Su Windows, i file .bz2 sono supportati da strumenti come 7-Zip, WinRAR e PeaZip. L'utility bzip2 stessa è disponibile anche come build open-source per Windows. Rispetto ai file .gz, .bz2 ottiene tipicamente un rapporto di compressione migliore su testo e codice sorgente, al costo di una compressione e decompressione più lente. Formati più recenti come .xz spesso superano bzip2 sia nel rapporto di compressione che nella velocità, ma i pacchetti .tar.bz2 rimangono ampiamente utilizzati nella distribuzione di software open-source. I file .bz2 possono anche servire per creare copie di backup di vari dati, come collezioni di immagini o librerie di documenti.
Sicurezza e incolumità
RISCHIO: LOWIl formato bzip2 è aperto e sicuro, e un .bz2 è solo un insieme di dati compressi che non può eseguirsi da solo. Si applicano le consuete precauzioni per gli archivi: un .bz2/.tar.bz2 da una fonte non attendibile può contenere eseguibili o script rivelati solo dopo l'estrazione, quindi scansiona i contenuti prima di avviare qualsiasi cosa. Due note tecniche: un minuscolo .bz2 può espandersi enormemente («bomba di decompressione») - diffida di archivi sospettosamente piccoli; inoltre un .tar.bz2 può contenere percorsi «../» (path-traversal / «tar slip»), quindi estrai i tarball non attendibili in una cartella vuota. Gli estrattori moderni proteggono da entrambi i rischi.
Dettagli del formato
in sintesiProgrammi che aprono file BZ2
Dettagli tecnici
specifiche approfondite| Tipo MIME | application/x-bzip2 (anche application/x-bzip, application/bzip2) |
| Magic bytes | 42 5A 68 («BZh») all'offset 0 del file, seguito da una cifra ASCII «1»-«9» che codifica la dimensione del blocco (es. BZh9 = blocchi da 900 KB) |
| Codifica | Binario - flusso compresso bit-packed |
| Pipeline di compressione | Trasformata di Burrows-Wheeler → move-to-front → run-length encoding → codifica di Huffman (tutte fasi lossless) |
| Dimensione del blocco | Selezionabile da 100 KB (livello 1) a 900 KB (livello 9); il valore predefinito è 900 KB; blocchi più grandi migliorano il rapporto ma richiedono più RAM |
| Utilizzo della memoria | Compressione: circa 10 volte la dimensione del blocco; decompressione: ~3,5 MB indipendentemente dalla dimensione del blocco scelta |
| Controllo integrità | Checksum CRC-32 per blocco compresso più un CRC combinato a livello di flusso verificato alla decompressione |
| Marcatore di blocco | Ogni blocco BWT inizia con la costante pi greco a 48 bit 0x314159265359, utilizzata da bzip2recover per individuare i blocchi nei file danneggiati |
| Modello di contenitore | Flusso compresso autonomo senza tabella dei nomi file interna o struttura di directory; più file richiedono un wrapper TAR |
| Compressione parallela | Lo standard bzip2 è a thread singolo; pbzip2 e lbzip2 parallelizzano la compressione a livello di blocco su sistemi multi-core |
| Recupero blocchi | bzip2recover scansiona i byte grezzi alla ricerca di marcatori di blocco a 48 bit e scrive ogni blocco intatto in un file .bz2 recuperabile separato |
| Rapporto di compressione vs gzip | Tipicamente il 10-15% più piccolo di .gz su testo e codice sorgente; la decompressione è 2-6 volte più lenta |
| Piattaforme associate | Linux, macOS, Unix/BSD nativamente; Windows tramite 7-Zip, WinRAR, PeaZip; CLI bzip2 disponibile per tutti i principali sistemi |
| Casi d'uso comuni | Tarball sorgenti Linux/Unix (.tar.bz2), pacchetti di distribuzione software, dump di database e archivi di log compressi |
| Rilasciato | 1996 (bzip 0.21); bzip2 1.0 released 2000 |
| Ultima versione | bzip2 1.0.8 (2019); format itself unchanged |
| Standard aperto | Sì · royalty-free |
| Specifica | sourceware.org |
Conversioni BZ2
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file BZ2.