Hva er BZ2-filformatet?
.bz2 er et komprimert filformat produsert av bzip2-verktøyet. I motsetning til et fullstendig arkiv, komprimerer det en enkelt fil eller datastrøm - når flere filer skal pakkes, blir de først samlet i et TAR-arkiv og deretter komprimert sammen, noe som resulterer i .tar.bz2 (eller .tbz2) pakkene man ser i Linux-distribusjoner og åpen kildekode-prosjekter.
Hvilke data inneholder en .bz2-fil?
.bz2-filer lagrer data komprimert ved hjelp av en kjede med tapsfrie algoritmer:
- Burrows-Wheeler Transform (BWT) - omorganiserer datablokker for å gruppere gjentatte bytesekvenser
- Move-to-front transform - utnytter lokaliteten produsert av BWT
- Run-length encoding (RLE) - slår sammen lange sekvenser av identiske bytes
- Huffman-koding - entropikoder den resulterende symbolstrømmen
Blokkstørrelser varierer fra 100 KB til 900 KB og velges ved komprimering; standard bzip2-kommando bruker 900 KB blokker (filsignatur BZh9). Hver blokk har sin egen CRC-32 sjekksum, og en sekundær CRC på strømnivå dekker hele filen. Verktøyet bzip2recover kan berge intakte blokker fra et delvis skadet arkiv.
.bz2 på Unix-lignende systemer
.bz2-filer finnes vanligvis på Linux, macOS og andre Unix-lignende miljøer, der bzip2 og bunzip2 er standard CLI-verktøy. Formatet er mye brukt for distribusjon av kildekode på slike plattformer.
Windows-støtte
På Windows støttes .bz2-filer av verktøy som 7-Zip, WinRAR og PeaZip. Selve bzip2-verktøyet er også tilgjengelig som en åpen kildekode-versjon for Windows. Sammenlignet med .gz-filer, oppnår .bz2 vanligvis en bedre komprimeringsgrad på tekst og kildekode, på bekostning av tregere komprimering og dekomprimering. Nyere formater som .xz overgår nå ofte bzip2 i både komprimeringsgrad og hastighet, men .tar.bz2-pakker er fortsatt mye brukt i distribusjon av åpen kildekode. .bz2-filer kan også brukes til å lage sikkerhetskopier av ulike data, som bildesamlinger eller dokumentbiblioteker.
Sikkerhet og trygghet
RISIKO: LOWbzip2-formatet er åpent og trygt, og en .bz2 er bare komprimerte data som ikke kan kjøre av seg selv. De vanlige forholdsreglene for arkiv gjelder: en .bz2/.tar.bz2 fra en utrolig kilde kan inneholde kjørbare filer eller skript som først avsløres etter utpakking, så skann innholdet før du kjører noe. To tekniske merknader: en bitteliten .bz2 kan utvides enormt («dekomprimeringsbombe») - vær forsiktig med mistenkelig små arkiver; og en .tar.bz2 kan inneholde «../»-stier (path-traversal / «tar slip»), så pakk ut ukjente tarballer i en tom mappe. Moderne utpakkingsverktøy beskytter mot begge deler.
Formatdetaljer
i et nøtteskallProgrammer som åpner BZ2-filer
Tekniske detaljer
dyp spesifikasjon| MIME-type | application/x-bzip2 (også application/x-bzip, application/bzip2) |
| Magic bytes | 42 5A 68 («BZh») ved filposisjon 0, etterfulgt av et ASCII-siffer «1»-«9» som koder blokkstørrelsen (f.eks. BZh9 = 900 KB blokker) |
| Koding | Binær - bit-pakket komprimert strøm |
| Komprimeringskjede | Burrows-Wheeler Transform → move-to-front → run-length encoding → Huffman-koding (alle trinn er tapsfrie) |
| Blokkstørrelse | Valgbar fra 100 KB (nivå 1) til 900 KB (nivå 9); standard er 900 KB; større blokker forbedrer graden, men krever mer RAM |
| Minnebruk | Komprimering: omtrent 10× blokkstørrelsen; dekomprimering: ~3,5 MB uavhengig av valgt blokkstørrelse |
| Integritetskontroll | CRC-32 sjekksum per komprimerte blokk pluss en kombinert CRC på strømnivå som verifiseres ved dekomprimering |
| Blokkmarkør | Hver BWT-blokk starter med den 48-biters pi-konstanten 0x314159265359, som brukes av bzip2recover for å finne blokker i skadede filer |
| Containermodell | Frittstående komprimert strøm uten intern filnavntabell eller mappestruktur; flere filer krever et TAR-lag |
| Parallell komprimering | Standard bzip2 er enkelttrådet; pbzip2 og lbzip2 parallelliserer komprimering på blokknivå på flerkjernesystemer |
| Blokkgjenoppretting | bzip2recover skanner råbytes etter 48-biters blokkmarkører og skriver hver intakte blokk til en separat gjenopprettbar .bz2-fil |
| Komprimeringsgrad vs. gzip | Vanligvis 10-15 % mindre enn .gz på tekst og kildekode; dekomprimering er 2-6× tregere |
| Tilknyttede plattformer | Linux, macOS, Unix/BSD innebygd; Windows via 7-Zip, WinRAR, PeaZip; bzip2 CLI tilgjengelig for alle store systemer |
| Vanlige bruksområder | Linux/Unix kildekode-tarballer (.tar.bz2), programvaredistribusjonspakker, databasedumper og komprimerte loggarkiver |
| Utgitt | 1996 (bzip 0.21); bzip2 1.0 released 2000 |
| Siste versjon | bzip2 1.0.8 (2019); format itself unchanged |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | sourceware.org |
BZ2-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om BZ2-filer.