BZIP2 arhiv (.bz2)

Bzip2 Standardno

Bzip2 (BZ2) je klasični Unix uslužni program i format datoteke za kompresiju bez gubitaka bez patenata, koji je stvorio Julian Seward, a koristi Burrows-Wheelerovu transformaciju kako bi postigao znatno gušću kompresiju od klasičnog Gzipa.

Pregledaj i metapodaci

Operativni sustavi i alati za analizu datoteka identificiraju BZ2 datoteke provjerom početnog niza binarnih bajtova:

Odaberite ili ispustite datoteke ovdje

100% privatna pretvorba u pregledniku - datoteke nikada ne napuštaju vaš uređaj

ili zalijepi Ctrl+V
Jamstvo privatnosti nulte mrežne transmisije: 0 bajtova učitano na vanjske poslužitelje. Sva obrada odvijala se lokalno u sandčiću vašeg preglednika.

Potpis zaglavlja na razini bajtova (Magic Bytes)

Operativni sustavi i alati za analizu datoteka identificiraju BZ2 datoteke provjerom početnog niza binarnih bajtova:

HEX POTPIS (POMAK 0):

42 5A 68

ASCII PRIKAZ: BZh

Standardizacija: Bzip2 Open Source Standard

Tehničke specifikacije

Arhitektura spremnikaStream header ('BZh' + block size digit 1-9) followed by compressed data blocks and 32-bit CRC
KompresijaBurrows-Wheeler Transform (BWT), Move-to-Front (MTF) transform, and Huffman coding
字节序Big-Endian bitstream framing
Prostori bojaN/A (Byte Compression Stream)
Kanali i strukturaSingle-file compressed byte stream
Maksimalne dimenzijeUnbounded stream length (supports arbitrary file sizes)
Prozirnost100% bit-exact lossless data preservation
Streaming i progresivnoSequential block-by-block streaming with independent per-block CRC checksums

Tehnička matrica usporedbe: BZ2 vs Konkurencija

Tehnički atributBZ2 (Trenutno)GZXZZSTD
Glavni algoritamBurrows-Wheelerova transformacija (BWT)Deflate (LZ77 + Huffman)LZMA / LZMA2Finite State Entropy + LZ77
Kompresija u odnosu na Gzip10% - 20% manji od GzipaOsnovni standard20% - 30% manji od Gzipa10% - 20% manji od Gzipa
Brzina dekompresijeSporo (~30-50 MB/s)Brzo (~300 MB/s)Umjereno (~100 MB/s)Izuzetno brzo (>1.5 GB/s)
Kontrolni zbrojevi blokova32-bitni CRC po blokuJednostruki stream CRC32Struja CRC64Struja xxHash64

Uobičajeni načini oštećenja i vodič za heksadecimalni oporavak

Ekstrakcija se prekida s porukom 'bzip2: Data integrity error when decompressing'.

Temeljni uzrok: Promijenjen bit u kompresiranom bloku koji uzrokuje neuspjeh CRC32 provjere inverzne permutacijske matrice BWT-a.

Oporavak: Upotrijebite uslužni program 'bzip2recover' za spašavanje neoštećenih blokova koji okružuju oštećeni sektor.

Sigurnosna analiza i vektori napada na parser

Implementacije Bzip2-a uključuju složeno sortiranje bitstream-a i parsiranje Huffmanovih tablica koje su u prošlosti imale pogreške preljevanja cijelih brojeva (integer overflow).

Poznati vektori napada

  • Preljevanje cijelih brojeva pri dodjeli polja za BWT sortiranje (npr. CVE-2016-3189).
  • Pisanje izvan granica (out-of-bounds write) tijekom sastavljanja tablice za Huffmanovo dekodiranje.
  • Uskraćivanje usluge (DoS) kroz patološke uzorke unosa koji uzrokuju najgore slučajeve kvadratnog vremena BWT sortiranja.

Najbolje obrambene prakse:

Povijesni izvori i prekretnice

2019Federico Mena Quintero modernizira održavanje bzip2 kodne baze u sklopu bzip3 i modernih open-source inicijativa.
2000Izdana verzija 1.0, koja stabilizira bzip2 format na svim Linux distribucijama i upraviteljima paketa.
1996Julian Seward izdaje bzip2 0.15 kao zamjenu za stariji bzip format koji je imao problema s patentima.

Ključne prednosti

  • Dosljedno nadmašuje klasični Gzip za 10% do 20% na izvornim kodovima (tarballovima), sistemskim zapisima (logovima) i tekstualnim bazama podataka.
  • Nezavisna blok-arhitektura (100k do 900k) uključuje 32-bitne CRC kontrolne zbrojeve po blokovima za robusnu provjeru integriteta.
  • Univerzalna izvorna dostupnost na svim Linux, BSD i macOS naredbenim distribucijama.

Tehnička ograničenja i nedostaci

  • Znatno sporije brzine kompresije i dekompresije u usporedbi s modernim algoritmima poput Zstandarda.
  • Kompresija samo jedne datoteke: zahtijeva uparivanje s TAR-om (.tar.bz2) za pakiranje više datoteka ili mapa.
  • Veća potrošnja CPU-a tijekom dekompresije nego kod Gzipa ili Zstd-a.

Zanimljive tehničke činjenice

  • Magijske oznake 'BZh' označavaju 'Burrows-Wheeler Zip Huffman', a nakon njih slijedi znamenka (od '1' do '9') koja označava veličinu bloka u stotinama kilobajta (npr. 'BZh9' = 900 KB).
  • Izvorni kod Linux kernel-a distribuirao se isključivo u .tar.bz2 formatu više od desetljeća prije migracije na .xz.
  • Burrows-Wheelerova transformacija ne kompresira podatke izravno; ona permutira redoslijed znakova tako da se identična slova grupiraju zajedno, čineći ih trivijalno kompresibilnima pomoću Huffmanovog kodiranja.

Često postavljana tehnička pitanja

Koja je razlika između .gz i .bz2?

.bz2 koristi Burrows-Wheelerovu transformaciju kako bi postigao manje veličine datoteka od .gz, ali mu treba više vremena za kompresiju i dekompresiju.

Zašto bzip2 ima naredbu 'bzip2recover'?

Budući da bzip2 komprimira podatke u neovisnim blokovima od 900 KB, od kojih svaki ima svoj CRC, bzip2recover može izdvojiti neoštećene blokove čak i ako je dio datoteke oštećen.

Kako mogu izdvojiti .tar.bz2 datoteku?

Možete otpakirati .tar.bz2 datoteke izravno u svom web pregledniku pomoću File2File.app bez pokretanja alata komandne linije.