Vad är filformatet BZ2?
.bz2 är ett komprimerat filformat skapat av verktyget bzip2. Till skillnad från ett fullständigt arkiv komprimerar det en enskild fil eller dataström - när flera filer behöver paketeras buntas de först ihop till ett TAR-arkiv och komprimeras sedan tillsammans, vilket skapar de .tar.bz2 (eller .tbz2) paket som ofta ses i Linux-distributioner och open-source-projekt.
Vilken data innehåller en .bz2-fil?
.bz2-filer lagrar data komprimerad med en kedja av förlustfria (lossless) algoritmer:
- Burrows-Wheeler Transform (BWT) - omorganiserar datablock för att klustra upprepade bytesekvenser
- Move-to-front transform - utnyttjar den lokalitet som skapas av BWT
- Run-length encoding (RLE) - fäller ihop långa sekvenser av identiska bytes
- Huffman-kodning - entropikodar den resulterande symbolströmmen
Blockstorlekar sträcker sig från 100 KB till 900 KB och väljs vid komprimeringstillfället; standardkommandot för bzip2 använder 900 KB-block (filsignatur BZh9). Varje block har sin egen CRC-32-kontrollsumma, och en andra CRC på strömnivå täcker hela filen. Verktyget bzip2recover kan rädda intakta block från ett delvis skadat arkiv.
.bz2 på Unix-liknande system
.bz2-filer hittas vanligtvis på Linux, macOS och andra Unix-liknande miljöer, där bzip2 och bunzip2 är standardverktyg i kommandotolken. Formatet används i stor utsträckning för att distribuera källkod för programvara på dessa plattformar.
Stöd i Windows
I Windows stöds .bz2-filer av verktyg som 7-Zip, WinRAR och PeaZip. Själva verktyget bzip2 finns också tillgängligt som en open-source-version för Windows. Jämfört med .gz-filer uppnår .bz2 vanligtvis en bättre komprimeringsgrad på text och källkod, till kostnaden av långsammare komprimering och dekomprimering. Nyare format som .xz överträffar nu ofta bzip2 i både komprimeringsgrad och hastighet, men .tar.bz2-paket är fortfarande mycket vanliga inom distribution av öppen källkod. .bz2-filer kan också användas för att skapa säkerhetskopior av olika data, såsom bildsamlingar eller dokumentbibliotek.
Säkerhet & trygghet
RISK: LOWFormatet bzip2 är öppet och säkert, och en .bz2 är bara komprimerad data som inte kan köras av sig själv. De vanliga försiktighetsåtgärderna för arkiv gäller: en .bz2/.tar.bz2 från en okänd källa kan innehålla körbara filer eller skript som avslöjas först efter extrahering, så skanna innehållet innan du kör något. Två tekniska anmärkningar: en pytteliten .bz2 kan expandera enormt («dekomprimeringsbomb») - var vaksam på misstänkt små arkiv; och en .tar.bz2 kan innehålla «../»-sökvägar (path-traversal / «tar slip»), så extrahera okända arkiv i en tom mapp. Moderna extraheringsprogram skyddar mot båda.
Formatdetaljer
i ett nötskalProgram som öppnar BZ2-filer
Tekniska detaljer
djup specifikation| MIME-typ | application/x-bzip2 (även application/x-bzip, application/bzip2) |
| Magic bytes | 42 5A 68 («BZh») vid filoffset 0, följt av en ASCII-siffra «1»-«9» som kodar blockstorleken (t.ex. BZh9 = 900 KB block) |
| Kodning | Binär - bit-packad komprimerad ström |
| Komprimeringskedja | Burrows-Wheeler Transform → move-to-front → run-length encoding → Huffman-kodning (alla steg är förlustfria) |
| Blockstorlek | Valbar från 100 KB (nivå 1) till 900 KB (nivå 9); standard är 900 KB; större block förbättrar graden men kräver mer RAM |
| Minnesanvändning | Komprimering: cirka 10× blockstorleken; dekomprimering: ~3,5 MB oavsett vald blockstorlek |
| Integritetskontroll | CRC-32-kontrollsumma per komprimerat block plus en kombinerad CRC på strömnivå som verifieras vid dekomprimering |
| Blockmarkör | Varje BWT-block börjar med den 48-bitars pi-konstanten 0x314159265359, som används av bzip2recover för att lokalisera block i skadade filer |
| Containermodell | Fristående komprimerad ström utan intern filnamnstabell eller katalogstruktur; flera filer kräver ett TAR-hölje |
| Parallell komprimering | Standard bzip2 är enkeltrådad; pbzip2 och lbzip2 parallelliserar komprimering på blocknivå på flerkärniga system |
| Blockåterställning | bzip2recover skannar råa bytes efter 48-bitars blockmarkörer och skriver varje intakt block till en separat återställningsbar .bz2-fil |
| Komprimeringsgrad vs. gzip | Vanligtvis 10-15 % mindre än .gz på text och källkod; dekomprimering är 2-6× långsammare |
| Associerade plattformar | Linux, macOS, Unix/BSD nativt; Windows via 7-Zip, WinRAR, PeaZip; bzip2 CLI tillgängligt för alla större system |
| Vanliga användningsområden | Linux/Unix källkodsarkiv (.tar.bz2), paket för programvarudistribution, databasdumpar och komprimerade loggarkiv |
| Släppt | 1996 (bzip 0.21); bzip2 1.0 released 2000 |
| Senaste version | bzip2 1.0.8 (2019); format itself unchanged |
| Öppen standard | Ja · royaltyfri |
| Specifikation | sourceware.org |
BZ2-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om BZ2-filer.