Wat is het BZ2-bestandsformaat?
.bz2 is een gecomprimeerd bestandsformaat geproduceerd door het bzip2-hulpprogramma. In tegenstelling tot een volledig archief comprimeert het een enkel bestand of een gegevensstroom - wanneer meerdere bestanden moeten worden verpakt, worden ze eerst gebundeld in een TAR-archief en vervolgens samen gecomprimeerd, wat de .tar.bz2 (of .tbz2) pakketten oplevert die veelvuldig worden gezien bij Linux-distributies en open-source projecten.
Welke gegevens bevat een .bz2-bestand?
.bz2-bestanden slaan gegevens op die zijn gecomprimeerd met een pijplijn van lossless algoritmen:
- Burrows-Wheeler Transform (BWT) - reorganiseert gegevensblokken om herhaalde byte-reeksen te clusteren
- Move-to-front transform - benut de lokaliteit geproduceerd door BWT
- Run-length encoding (RLE) - voegt lange reeksen identieke bytes samen
- Huffman-codering - entropie-codering van de resulterende symboolstroom
Blokgroottes variëren van 100 KB tot 900 KB en worden geselecteerd tijdens de compressie; het standaard bzip2-commando gebruikt blokken van 900 KB (bestandssignatuur BZh9). Elk blok draagt zijn eigen CRC-32 checksum, en een tweede CRC op stroomniveau dekt het hele bestand. Het hulpprogramma bzip2recover kan intacte blokken redden uit een gedeeltelijk beschadigd archief.
.bz2 op Unix-achtige systemen
.bz2-bestanden worden doorgaans gevonden op Linux, macOS en andere Unix-achtige omgevingen, waar bzip2 en bunzip2 standaard CLI-tools zijn. Het formaat wordt veel gebruikt voor het distribueren van broncode van software op dergelijke platforms.
Windows-ondersteuning
Op Windows worden .bz2-bestanden ondersteund door tools zoals 7-Zip, WinRAR en PeaZip. Het bzip2-hulpprogramma zelf is ook beschikbaar als een open-source Windows-build. Vergeleken met .gz-bestanden behaalt .bz2 doorgaans een betere compressieratio op tekst en broncode, ten koste van tragere compressie en decompressie. Nieuwere formaten zoals .xz overtreffen bzip2 nu vaak in zowel compressieratio als snelheid, maar .tar.bz2-pakketten blijven veelgebruikt in de distributie van open-source software. .bz2-bestanden kunnen ook dienen voor het maken van reservekopieën van diverse gegevens, zoals fotocollecties of documentbibliotheken.
Beveiliging & veiligheid
RISICO: LOWHet bzip2-formaat is open en veilig, en een .bz2 is slechts gecomprimeerde data die niet uit zichzelf kan draaien. De gebruikelijke waarschuwingen voor archieven zijn van toepassing: een .bz2/.tar.bz2 van een onbetrouwbare bron kan uitvoerbare bestanden of scripts bevatten die pas na het uitpakken zichtbaar worden, dus scan de inhoud voordat u iets uitvoert. Twee technische opmerkingen: een piepkleine .bz2 kan enorm uitdijen («decompressiebom») - wees op uw hoede voor verdacht kleine archieven; en een .tar.bz2 kan «../» paden bevatten (path-traversal / «tar slip»), dus pak onbetrouwbare tarballs uit in een lege map. Moderne uitpakkers bieden bescherming tegen beide.
Formaatdetails
in een notendopProgramma's die BZ2-bestanden openen
Technische details
diepe specificaties| MIME-type | application/x-bzip2 (ook application/x-bzip, application/bzip2) |
| Magic bytes | 42 5A 68 («BZh») op bestandsoffset 0, gevolgd door een ASCII-cijfer «1»-«9» dat de blokgrootte codeert (bijv. BZh9 = 900 KB blokken) |
| Codering | Binair - bit-gepakte gecomprimeerde stroom |
| Compressiepijplijn | Burrows-Wheeler Transform → move-to-front → run-length encoding → Huffman-codering (allemaal lossless stadia) |
| Blokgrootte | Selecteerbaar van 100 KB (niveau 1) tot 900 KB (niveau 9); standaard is 900 KB; grotere blokken verbeteren de ratio maar vereisen meer RAM |
| Geheugengebruik | Compressie: ongeveer 10× de blokgrootte; decompressie: ~3,5 MB ongeacht de gekozen blokgrootte |
| Integriteitscontrole | CRC-32 checksum per gecomprimeerd blok plus een gecombineerde CRC op stroomniveau die wordt geverifieerd bij decompressie |
| Blokmarkering | Elk BWT-blok begint met de 48-bits pi-constante 0x314159265359, gebruikt door bzip2recover om blokken in beschadigde bestanden te lokaliseren |
| Containermodel | Zelfstandige gecomprimeerde stroom zonder interne bestandsnaamtabel of mappenstructuur; meerdere bestanden hebben een TAR-wrapper nodig |
| Parallelle compressie | Standaard bzip2 is single-threaded; pbzip2 en lbzip2 paralleliseren compressie op blokniveau op multi-core systemen |
| Blokherstel | bzip2recover scant ruwe bytes op 48-bits blokmarkeringen en schrijft elk intact blok naar een apart herstelbaar .bz2-bestand |
| Compressieratio vs. gzip | Doorgaans 10-15% kleiner dan .gz op tekst en broncode; decompressie is 2-6× trager |
| Bijbehorende platforms | Linux, macOS, Unix/BSD standaard; Windows via 7-Zip, WinRAR, PeaZip; bzip2 CLI beschikbaar voor alle grote systemen |
| Veelvoorkomende toepassingen | Linux/Unix broncode-tarballs (.tar.bz2), software-distributiepakketten, database-dumps en gecomprimeerde logarchieven |
| Uitgebracht | 1996 (bzip 0.21); bzip2 1.0 released 2000 |
| Laatste versie | bzip2 1.0.8 (2019); format itself unchanged |
| Open standaard | Ja · royaltyvrij |
| Specificatie | sourceware.org |
BZ2 conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over BZ2-bestanden.