Hvad er BZ2-filformatet?
.bz2 er et komprimeret filformat produceret af bzip2-værktøjet. I modsætning til et fuldt arkiv komprimerer det en enkelt fil eller datastrøm - når flere filer skal pakkes, bliver de først samlet i et TAR-arkiv og derefter komprimeret sammen, hvilket skaber de .tar.bz2 (eller .tbz2) pakker, man ser på tværs af Linux-distributioner og open source-projekter.
Hvilke data indeholder en .bz2-fil?
.bz2-filer gemmer data komprimeret ved hjælp af en pipeline af lossless algoritmer:
- Burrows-Wheeler Transform (BWT) - omorganiserer datablokke for at samle gentagne bytesekvenser
- Move-to-front transform - udnytter den lokalitet, som BWT producerer
- Run-length encoding (RLE) - kollapser lange rækker af identiske bytes
- Huffman-kodning - entropi-koder den resulterende symbolstrøm
Blokstørrelser spænder fra 100 KB til 900 KB og vælges ved komprimering; standard bzip2-kommandoen bruger 900 KB blokke (filsignatur BZh9). Hver blok bærer sin egen CRC-32 tjeksum, og en sekundær CRC på strømniveau dækker hele filen. Værktøjet bzip2recover kan redde intakte blokke fra et delvist beskadiget arkiv.
.bz2 på Unix-lignende systemer
.bz2-filer findes typisk på Linux, macOS og andre Unix-lignende miljøer, hvor bzip2 og bunzip2 er standard CLI-værktøjer. Formatet er vidt brugt til distribution af software-kildekode på disse platforme.
Windows-understøttelse
På Windows understøttes .bz2-filer af værktøjer som 7-Zip, WinRAR og PeaZip. Selve bzip2-værktøjet er også tilgængeligt som en open source Windows-build. Sammenlignet med .gz-filer opnår .bz2 typisk en bedre komprimeringsgrad på tekst og kildekode, på bekostning af langsommere komprimering og dekomprimering. Nyere formater som .xz overgår nu ofte bzip2 i både komprimeringsgrad og hastighed, men .tar.bz2-pakker forbliver vidt udbredte i distribution af open source-software. .bz2-filer kan også bruges til at oprette sikkerhedskopier af forskellige data, såsom billedsamlinger eller dokumentbiblioteker.
Sikkerhed og tryghed
RISIKO: LOWbzip2-formatet er åbent og sikkert, og en .bz2 er blot komprimerede data, der ikke kan køre af sig selv. De sædvanlige arkiv-forholdsregler gælder: en .bz2/.tar.bz2 fra en upålidelig kilde kan indeholde eksekverbare filer eller scripts, der først afsløres efter udpakning, så scan indholdet før kørsel. To tekniske noter: en lille .bz2 kan udvides enormt («dekomprimeringsbombe») - vær påpasselig med mistænkeligt små arkiver; og en .tar.bz2 kan indeholde «../» stier (path-traversal / «tar slip»), så udpak upålidelige tarballs i en tom mappe. Moderne udpakningsprogrammer beskytter mod begge dele.
Formatdetaljer
kort fortaltProgrammer der åbner BZ2-filer
Tekniske detaljer
dyb specifikation| MIME-type | application/x-bzip2 (også application/x-bzip, application/bzip2) |
| Magic bytes | 42 5A 68 («BZh») ved fil-offset 0, efterfulgt af et ASCII-ciffer «1»-«9», der koder blokstørrelsen (f.eks. BZh9 = 900 KB blokke) |
| Kodning | Binær - bit-pakket komprimeret strøm |
| Komprimerings-pipeline | Burrows-Wheeler Transform → move-to-front → run-length encoding → Huffman-kodning (alle lossless trin) |
| Blokstørrelse | Valgbar fra 100 KB (niveau 1) til 900 KB (niveau 9); standard er 900 KB; større blokke forbedrer graden, men kræver mere RAM |
| Hukommelsesforbrug | Komprimering: cirka 10× blokstørrelsen; dekomprimering: ~3,5 MB uanset den valgte blokstørrelse |
| Integritetskontrol | CRC-32 tjeksum pr. komprimeret blok plus en kombineret strøm-niveau CRC, der verificeres ved dekomprimering |
| Blokmarkør | Hver BWT-blok starter med den 48-bit pi-konstant 0x314159265359, som bruges af bzip2recover til at lokalisere blokke i beskadigede filer |
| Containermodel | Selvstændig komprimeret strøm uden intern filnavnstabel eller mappestruktur; flere filer kræver en TAR-wrapper |
| Parallel komprimering | Standard bzip2 er enkelttrådet; pbzip2 og lbzip2 paralleliserer komprimering på blokniveau på flerkernede systemer |
| Blokgendannelse | bzip2recover scanner rå bytes for 48-bit blokmarkører og skriver hver intakt blok til en separat genoprettelig .bz2-fil |
| Komprimeringsgrad vs. gzip | Typisk 10-15 % mindre end .gz på tekst og kildekode; dekomprimering er 2-6× langsommere |
| Associerede platforme | Linux, macOS, Unix/BSD indfødt; Windows via 7-Zip, WinRAR, PeaZip; bzip2 CLI tilgængelig til alle større systemer |
| Almindelige anvendelsesscenarier | Linux/Unix kildekode-tarballs (.tar.bz2), software-distributionspakker, databasedumps og komprimerede logarkiver |
| Udgivet | 1996 (bzip 0.21); bzip2 1.0 released 2000 |
| Seneste version | bzip2 1.0.8 (2019); format itself unchanged |
| Åben standard | Ja · royaltyfri |
| Specifikation | sourceware.org |
BZ2-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om BZ2-filer.