BZIP2-Archiv (.bz2)

Bzip2 Standard

Bzip2 (BZ2) ist ein klassisches, patentfreies Unix-Komprimierungsdienstprogramm und Dateiformat, das von Julian Seward erstellt wurde und die Burrows-Wheeler-Transformation verwendet, um eine deutlich höhere Komprimierung als klassisches Gzip zu erreichen.

Untersuchen & Metadaten

Betriebssysteme und Dateianalyseprogramme identifizieren BZ2-Dateien anhand der führenden binären Bytefolge:

Dateien auswählen oder hierher ziehen

Privat - Dateien verlassen Ihr Gerät nie

oder einfügen Strg+V
Datenschutzgarantie ohne Netzwerkübertragung: 0 Bytes an externe Server hochgeladen. Die gesamte Verarbeitung erfolgt lokal in Ihrer Browser-Sandbox.

Headersignatur auf Byte-Ebene (Magic Bytes)

Betriebssysteme und Dateianalyseprogramme identifizieren BZ2-Dateien anhand der führenden binären Bytefolge:

HEX-SIGNATUR (OFFSET 0):

42 5A 68

ASCII-DARSTELLUNG: BZh

Standardisierung: Bzip2 Open Source Standard

Technische Daten

Container-ArchitekturStream-Header („BZh" + Blockgrößenziffer 1-9), gefolgt von komprimierten Datenblöcken und 32-Bit-CRC
KompressionBurrows-Wheeler-Transformation (BWT), Move-to-Front-Transformation (MTF) und Huffman-Codierung
Byte-ReihenfolgeBig-Endian-Bitstream-Framing
FarbräumeNicht zutreffend (Byte-Kompressionsstrom)
Kanäle und StrukturKomprimierter Bytestrom für eine einzelne Datei
Max. AbmessungenUnbegrenzte Stream-Länge (unterstützt beliebige Dateigrößen)
Transparenz100% bitgenaue, verlustfreie Datenerhaltung
Streaming und progressive DarstellungSequenzielles Block-für-Block-Streaming mit unabhängigen CRC-Prüfsummen pro Block

Technische Vergleichsmatrix: BZ2 und Konkurrenzformate

Technisches AttributBZ2 (Aktuelles Format)GZXZZSTD
KernalgorithmusBurrows-Wheeler-Transformation (BWT)Deflate (LZ77 + Huffman)LZMA / LZMA2Finite-State-Entropie + LZ77
Komprimierung im Vergleich zu Gzip10 % bis 20 % kleiner als mit GzipBasisstandard20 % bis 30 % kleiner als Gzip10 % bis 20 % kleiner als Gzip
DekomprimierungsgeschwindigkeitLangsam (~30-50 MB/s)Schnell (~300 MB/s)Moderat (~100 MB/s)Blitzschnell (>1,5 GB/s)
Block-Prüfsummen32-Bit-CRC pro BlockEinzelstrom-CRC32Stream-CRC64Stream-xxHash64

Häufige Datenbeschädigungen und Leitfaden zur Wiederherstellung anhand von Hex-Daten

Extraktion bricht mit „bzip2: Data integrity error when decompressing“ ab.

Ursache: Gekipptes Bit im komprimierten Block, wodurch die inverse BWT-Permutationsmatrix bei der CRC32-Validierung fehlschlägt.

Wiederherstellung: Verwenden Sie das Dienstprogramm „bzip2recover“, um unbeschädigte Blöcke rund um den beschädigten Bereich zu retten.

Sicherheitsanalyse und Angriffsvektoren für Parser

Bzip2-Implementierungen beinhalten komplexe Bitstream-Sortierungen und Huffman-Tabellenanalysen, bei denen es in der Vergangenheit zu Ganzzahlüberlauffehlern kam.

Bekannte Angriffsvektoren

  • Ganzzahlüberlauf bei der BWT-Sortierarray-Zuweisung (z. B. CVE-2016-3189).
  • Schreiben außerhalb der Grenzen während des Aufbaus der Huffman-Dekodierungstabelle.
  • Diensteverweigerung (Denial of Service) durch pathologische Eingabemuster, die quadratische BWT-Sortierzeiten im Worst-Case verursachen.

Empfohlene Schutzmaßnahmen: Dekodieren Sie BZ2-Dateien mit speichersicheren WASM-Dekodern mit erzwungenen Speicherbegrenzungen.

Historische Ursprünge & Meilensteine

2019Federico Mena Quintero modernisiert die Pflege der Bzip2-Codebasis im Rahmen von bzip3 und modernen Open-Source-Initiativen.
2000Version 1.0 veröffentlicht, wodurch das bzip2-Format in Linux-Distributionen und Paketverwaltungen stabilisiert wurde.
1996Julian Seward veröffentlicht bzip2 0.15 als Ersatz für das frühere Bzip-Format, das Patentbedenken aufwies.

Hauptvorteile & Stärken

  • Übertrifft klassisches Gzip bei Quellcode-Tarballs, Systemprotokollen und Textdatenbanken durchgehend um 10 % bis 20 %.
  • Die unabhängige Blockarchitektur (100 k bis 900 k) enthält 32-Bit-CRC-Prüfsummen pro Block für robuste Integritätsprüfungen.
  • In vielen Linux-, BSD- und macOS-Distributionen nativ verfügbar; die Aufnahme hängt von der Distribution ab.

Technische Einschränkungen & Nachteile

  • Deutlich langsamere Komprimierungs- und Dekomprimierungsgeschwindigkeiten im Vergleich zu modernen Algorithmen wie Zstandard.
  • Nur Einzeldateikomprimierung: erfordert die Kopplung mit TAR (.tar.bz2), um mehrere Dateien oder Verzeichnisse zu packen.
  • Höhere CPU-Auslastung bei der Dekomprimierung als Gzip oder Zstd.

Interessante technische Fakten

  • Die „BZh"-Magic-Bytes stehen für „Burrows-Wheeler Zip Huffman", gefolgt von einer Ziffer („1" bis „9"), die die Blockgröße in Hundert Kilobyte angibt (z. B. „BZh9" = 900 KB).
  • Der Quellcode des Linux-Kernels wurde über ein Jahrzehnt lang ausschließlich im .tar.bz2-Format verbreitet, bevor er zu .xz migrierte.
  • Die Burrows-Wheeler-Transformation komprimiert Daten nicht direkt; sie permutiert die Reihenfolge der Zeichen, sodass identische Buchstaben zusammenklumpen.

Häufig gestellte technische Fragen

Was ist der Unterschied zwischen .gz und .bz2?

.bz2 verwendet die Burrows-Wheeler-Transformation, um kleinere Dateigrößen als .gz zu erreichen, benötigt jedoch mehr Zeit für die Komprimierung und Dekomprimierung.

Warum hat bzip2 einen Befehl „bzip2recover"?

Da bzip2 Daten in unabhängigen 900-KB-Blöcken komprimiert, von denen jeder über einen eigenen CRC verfügt, kann bzip2recover unbeschädigte Blöcke extrahieren, selbst wenn ein Teil der Datei beschädigt ist.

Wie kann ich eine .tar.bz2-Datei extrahieren?

Sie können .tar.bz2-Dateien ohne Befehlszeilentools direkt in Ihrem Webbrowser mit File2File.app entpacken.