Archiv BZIP2 (.bz2)

Bzip2 Standardní

Bzip2 (BZ2) je klasický unixový kompresní nástroj a souborový formát bez patentových poplatků, který vytvořil Julian Seward. Využívá Burrows-Wheelerovu transformaci k dosažení výrazně účinnější komprese než klasický Gzip.

Zkontrolovat a metadata

Operační systémy a analyzátory souborů identifikují soubory BZ2 kontrolou počáteční binární sekvence bajtů:

Vyberte nebo přetáhněte soubory sem

100% soukromá konverze v prohlížeči - soubory nikdy neopustí vaše zařízení

nebo vložte Ctrl+V
Záruka ochrany soukromí s nulovým přenosem po síti: 0 bajtů odesláno na externí servery. Veškeré zpracování probíhalo lokálně v sandboxu vašeho prohlížeče.

Podpis hlavičky na úrovni bajtů (Magic Bytes)

Operační systémy a analyzátory souborů identifikují soubory BZ2 kontrolou počáteční binární sekvence bajtů:

HEXADECIMÁLNÍ PODPIS (OFFSET 0):

42 5A 68

ASCII REPREZENTACE: BZh

Standardizace: Bzip2 Open Source Standard

Technické specifikace

Architektura kontejneruStream header ('BZh' + block size digit 1-9) followed by compressed data blocks and 32-bit CRC
KompreseBurrows-Wheeler Transform (BWT), Move-to-Front (MTF) transform, and Huffman coding
Endiantita bajtůBig-Endian bitstream framing
Barevné prostoryN/A (Byte Compression Stream)
Kanály a strukturaSingle-file compressed byte stream
Max. rozměryUnbounded stream length (supports arbitrary file sizes)
Průhlednost100% bit-exact lossless data preservation
Streamování a progresivní načítáníSequential block-by-block streaming with independent per-block CRC checksums

Technická srovnávací matice: BZ2 vs konkurence

Technický atributBZ2 (Aktuální)GZXZZSTD
Základní algoritmusBurrows-Wheelerova transformace (BWT)Deflate (LZ77 + Huffman)LZMA / LZMA2Finite State Entropy + LZ77
Komprese vs GzipO 10 % až 20 % menší než GzipZákladní standardO 20 % až 30 % menší než GzipO 10 % až 20 % menší než Gzip
Rychlost dekompresePomalá (~30 - 50 MB/s)Rychlá (~300 MB/s)Střední (~100 MB/s)Blesková (>1,5 GB/s)
Kontrolní součty bloků32bitové CRC pro každý blokJednotlivý proud CRC32Proud CRC64Proud xxHash64

Běžné režimy poškození a příručka pro obnovení v hex

Extrakce se přeruší chybou „bzip2: Data integrity error when decompressing".

Hlavní příčina: Překlopený bit v komprimovaném bloku, který způsobuje selhání ověření CRC32 v inverzní permutační matici BWT.

Obnovení: Pomocí nástroje „bzip2recover" lze zachránit nepoškozené bloky v okolí poškozeného sektoru.

Bezpečnostní analýza a vektory útoků na parser

Implementace Bzip2 zahrnují komplexní třídění bitových proudů a analýzu Huffmanových tabulek, které v minulosti trpěly chybami celočíselného přetečení.

Známé vektory útoků

  • Celočíselné přetečení při alokaci třídícího pole BWT (např. CVE-2016-3189).
  • Zápis mimo vyhrazenou paměť při sestavování Huffmanovy dekódovací tabulky.
  • Útok odepření služby (DoS) prostřednictvím patologických vstupních vzorů, které způsobují nejhorší možné kvadratické časy třídění BWT.

Doporučené bezpečnostní postupy:

Historický vývoj a milníky

2019Federico Mena Quintero modernizuje údržbu zdrojového kódu bzip2 v rámci iniciativ bzip3 a moderního open-source.
2000Vydána verze 1.0, která stabilizuje formát bzip2 napříč distribucemi Linuxu a správci balíčků.
1996Julian Seward vydává bzip2 0.15 jako náhradu za dřívější formát bzip, který zatěžovaly obavy ohledně patentů.

Klíčové výhody a přednosti

  • Trvale překonává klasický Gzip o 10 % až 20 % u zdrojových kódů, systémových logů a textových databází.
  • Nezávislá bloková architektura (100k až 900k) obsahuje 32bitové CRC kontrolní součty pro každý blok, což zajišťuje vysokou spolehlivost kontroly integrity.
  • Univerzální nativní dostupnost ve všech příkazových řádcích distribucí Linuxu, BSD a macOS.

Technická omezení a nevýhody

  • Výrazně pomalejší kompresní a dekompresní rychlosti ve srovnání s moderními algoritmy, jako je Zstandard.
  • Pouze jednosouborová komprese: pro zabalení více souborů nebo adresářů je nutné spárování s formátem TAR (.tar.bz2).
  • Vyšší využití procesoru během dekomprese než u Gzipu nebo Zstd.

Zajímavé technické drobnosti

  • Magické bajty „BZh" jsou zkratkou pro „Burrows-Wheeler Zip Huffman" a za nimi následuje číslice (1 až 9) udávající velikost bloku ve stovkách kilobajtů (např. „BZh9" = 900 KB).
  • Zdrojový kód jádra Linuxu byl déle než deset let distribuován výhradně ve formátu .tar.bz2, než přešel na .xz.
  • Burrows-Wheelerova transformace komprimuje data nepřímo - permutuje pořadí znaků tak, aby se stejná písmena shlukovala k sobě, čímž je činí snadno komprimovatelnými pomocí Huffmanova kódování.

Často kladené technické otázky

Jaký je rozdíl mezi .gz a .bz2?

.bz2 používá Burrows-Wheelerovu transformaci k dosažení menší velikosti souborů než .gz, ale komprese a dekomprese trvá déle.

Proč má bzip2 příkaz „bzip2recover“?

Protože bzip2 komprimuje data v nezávislých 900 KB blocích, z nichž každý má vlastní kontrolní součet CRC, dokáže nástroj bzip2recover extrahovat nepoškozené bloky, i když je část souboru poškozena.

Jak mohu rozbalit soubor .tar.bz2?

Soubory .tar.bz2 můžete rozbalit přímo ve svém webovém prohlížeči pomocí aplikace File2File.app bez spouštění nástrojů příkazové řádky.