Arsip BZIP2 (.bz2)

Standar Standar

Bzip2 (BZ2) adalah utilitas kompresi dan format file Unix klasik yang bebas paten dan dibuat oleh Julian Seward, menggunakan transformasi Burrows-Wheeler untuk mencapai kompresi yang jauh lebih efisien daripada Gzip klasik.

Pemeriksaan & Metadata

Sistem operasi dan penganalisis file mengenali file BZ2 dengan memeriksa urutan byte biner di bagian awal:

Pilih atau letakkan berkas di sini

Privat - file tidak pernah meninggalkan perangkat Anda

atau tempel Ctrl+V
Jaminan Privasi Tanpa Transmisi Jaringan: 0 byte diunggah ke server eksternal. Semua pemrosesan berlangsung secara lokal di sandbox browser Anda.

Tanda Tangan Header per Byte (Byte Penanda)

Sistem operasi dan penganalisis file mengenali file BZ2 dengan memeriksa urutan byte biner di bagian awal:

TANDA TANGAN HEX (OFFSET 0):

42 5A 68

REPRESENTASI ASCII: BZh

Standardisasi: Standar sumber terbuka Bzip2

Spesifikasi Teknis

Arsitektur KontainerHeader aliran ('BZh' + digit ukuran blok 1-9), diikuti blok data terkompresi dan CRC 32-bit
KompresiBurrows-Wheeler Transform (BWT), transformasi Move-to-Front (MTF), dan pengodean Huffman
Urutan BytePembingkaian bitstream Big-Endian
Ruang WarnaTidak berlaku (aliran kompresi byte)
Saluran & StrukturAliran byte terkompresi untuk satu file
Dimensi MaksimumPanjang aliran tanpa batas (mendukung ukuran file arbitrer)
TransparansiMempertahankan data secara lossless dan persis bit demi bit 100%
Streaming & ProgresifStreaming berurutan blok demi blok dengan checksum CRC tersendiri untuk setiap blok

Perbandingan Teknis BZ2 dengan Pesaing

Atribut TeknisBZ2 (Saat Ini)GZXZZSTD
Algoritma UtamaTransformasi Burrows-Wheeler (BWT)Deflate (LZ77 + Huffman)LZMA / LZMA2Entropi Keadaan Hingga + LZ77
Kompresi dibandingkan Gzip10% - 20% lebih kecil dari GzipStandar dasar20% - 30% lebih kecil dari Gzip10% - 20% lebih kecil dari Gzip
Kecepatan DekompresiLambat (~30-50 MB/s)Cepat (~300 MB/s)Sedang (~100 MB/s)Sangat cepat (>1.5 GB/s)
Checksum BlokCRC 32-bit per blokCRC32 aliran tunggalAliran CRC64Aliran xxHash64

Pola Kerusakan Umum dan Panduan Pemulihan Hex

Ekstraksi dibatalkan dengan pesan 'bzip2: Data integrity error when decompressing'.

Penyebab Utama: Bit terbalik pada blok terkompresi yang menyebabkan matriks permutasi invers BWT gagal dalam validasi CRC32.

Pemulihan: Gunakan utilitas 'bzip2recover' untuk menyelamatkan blok yang tidak rusak di sekitar sektor yang rusak.

Analisis Keamanan & Vektor Serangan Parser

Implementasi Bzip2 melibatkan pengurutan aliran bit yang rumit dan penguraian tabel Huffman yang secara historis mengalami kelemahan luapan bilangan bulat.

Vektor Serangan yang Diketahui

  • Luapan bilangan bulat saat mengalokasikan larik pengurutan BWT (misalnya CVE-2016-3189).
  • Penulisan di luar batas (out-of-bounds write) selama perakitan tabel penguraian Huffman.
  • Penolakan layanan (DoS) melalui pola masukan ekstrem yang menyebabkan waktu pengurutan BWT terburuk yang bersifat kuadratik.

Praktik Terbaik Defensif: Dekode file BZ2 menggunakan dekoder WASM yang aman dari kesalahan pengelolaan memori dan memiliki batas memori yang diterapkan.

Asal-Usul & Tonggak Sejarah

2019Federico Mena Quintero memodernisasi pemeliharaan basis kode bzip2 di bawah bzip3 dan inisiatif sumber terbuka modern.
2000Versi 1.0 dirilis, menstabilkan format bzip2 di berbagai distribusi Linux dan manajer paket.
1996Julian Seward merilis bzip2 0.15 untuk menggantikan format bzip sebelumnya yang memiliki masalah paten.

Keunggulan & Kelebihan Utama

  • Secara konsisten mengungguli Gzip klasik sebesar 10% hingga 20% pada tarball kode sumber, log sistem, dan database teks.
  • Arsitektur blok independen (100k hingga 900k) menyertakan checksum CRC 32-bit per blok untuk pemeriksaan integritas yang kuat.
  • Tersedia secara bawaan di banyak distribusi baris perintah Linux, BSD, dan macOS; penyertaannya bergantung pada distribusi.

Keterbatasan Teknis & Kekurangan

  • Kecepatan kompresi dan dekompresi jauh lebih lambat dibandingkan dengan algoritma modern seperti Zstandard.
  • Kompresi file tunggal saja: memerlukan TAR (.tar.bz2) untuk mengemas beberapa file atau direktori.
  • Penggunaan CPU yang lebih tinggi selama dekompresi daripada Gzip atau Zstd.

Fakta Teknis Menarik

  • Byte penanda 'BZh' adalah singkatan dari 'Burrows-Wheeler Zip Huffman', diikuti oleh digit ('1' hingga '9') yang menunjukkan ukuran blok dalam ratusan kilobyte (misalnya 'BZh9' = 900 KB).
  • Kode sumber Kernel Linux didistribusikan secara eksklusif dalam format .tar.bz2 selama lebih dari satu dekade sebelum migrasi ke .xz.
  • Transformasi Burrows-Wheeler tidak mengompresi data secara langsung; transformasi ini mengubah urutan karakter sehingga huruf yang sama menggumpal.

Pertanyaan Teknis yang Sering Diajukan

Apa perbedaan antara .gz dan .bz2?

.bz2 menggunakan transformasi Burrows-Wheeler untuk mencapai ukuran file yang lebih kecil daripada .gz, tetapi proses kompresi dan dekompresinya memakan waktu lebih lama.

Mengapa bzip2 memiliki perintah 'bzip2recover'?

Karena bzip2 mengompresi data dalam blok 900 KB independen yang masing-masing memiliki CRC sendiri, bzip2recover dapat mengekstrak blok yang tidak rusak meskipun sebagian file mengalami korupsi.

Bagaimana cara mengekstrak file .tar.bz2?

Anda dapat membongkar file .tar.bz2 langsung di peramban web Anda dengan File2File.app tanpa perlu menjalankan alat baris perintah.