BZIP2 Arşivi (.bz2)

Bzip2 Standart

Bzip2 (BZ2), Julian Seward tarafından oluşturulan, klasik Gzip'e kıyasla önemli ölçüde daha yüksek sıkıştırma oranı elde etmek için Burrows-Wheeler dönüşümünü kullanan, patent içermeyen klasik bir Unix sıkıştırma aracı ve dosya formatıdır.

İncele & Meta Veriler

İşletim sistemleri ve dosya çözümleyicileri, BZ2 dosyalarını başlangıçtaki ikili bayt dizisini inceleyerek tanımlar:

Dosyaları buraya seçin veya bırakın

Kesinlikle %100 tarayıcı içi gizli dönüşüm - dosyalar asla cihazınızdan ayrılmaz

veya yapıştırın Ctrl+V
Sıfır Ağ Aktarımı Gizlilik Garantisi: Harici sunuculara 0 bayt yüklendi. Tüm işlemler tarayıcınızın korumalı alanında (sandbox) yerel olarak gerçekleştirildi.

Bayt Düzeyinde Başlık İmzası (Magic Bytes)

İşletim sistemleri ve dosya çözümleyicileri, BZ2 dosyalarını başlangıçtaki ikili bayt dizisini inceleyerek tanımlar:

HEX İMZASI (OFSET 0):

42 5A 68

ASCII GÖSTERİMİ: BZh

Standardizasyon: Bzip2 Open Source Standard

Teknik Özellikler

Konteyner MimarisiStream header ('BZh' + block size digit 1-9) followed by compressed data blocks and 32-bit CRC
SıkıştırmaBurrows-Wheeler Transform (BWT), Move-to-Front (MTF) transform, and Huffman coding
Bayt Düzeni (Endianness)Big-Endian bitstream framing
Renk UzaylarıN/A (Byte Compression Stream)
Kanallar ve YapıSingle-file compressed byte stream
Maksimum BoyutlarUnbounded stream length (supports arbitrary file sizes)
Şeffaflık100% bit-exact lossless data preservation
Akış ve Aşamalı (Streaming & Progressive)Sequential block-by-block streaming with independent per-block CRC checksums

Teknik Karşılaştırma Matrisi: BZ2 ve Rakipleri

Teknik NitelikBZ2 (Güncel)GZXZZSTD
Çekirdek AlgoritmaBurrows-Wheeler Dönüşümü (BWT)Deflate (LZ77 + Huffman)LZMA / LZMA2Sonlu Durum Entropisi + LZ77
Gzip ile Sıkıştırma KarşılaştırmasıGzip'ten %10 - %20 daha küçükTemel standartGzip'ten %20 - %30 daha küçükGzip'ten %10 - %20 daha küçük
Dosya Açma HızıYavaş (~30-50 MB/s)Hızlı (~300 MB/s)Orta (~100 MB/s)Çok Hızlı (>1.5 GB/s)
Blok Sağlama ToplamlarıBlok başına 32-bit CRCTek akışlı CRC32Akış CRC64Akış xxHash64

Yaygın Bozulma Modları ve Hex Kurtarma Kılavuzu

Çıkarma işlemi 'bzip2: Data integrity error when decompressing' hatasıyla iptal ediliyor.

Kök Neden: Sıkıştırılmış bloktaki ters çevrilmiş bir bit, BWT ters permütasyon matrisinin CRC32 doğrulamasından geçememesine neden oluyor.

Kurtarma: Bozuk sektörün etrafındaki hasar görmemiş blokları kurtarmak için 'bzip2recover' aracını kullanın.

Güvenlik Analizi ve Ayrıştırıcı Saldırı Vektörleri

Bzip2 uygulamaları, geçmişte tamsayı taşması (integer overflow) kusurları yaşamış karmaşık bit akışı sıralaması ve Huffman tablosu ayrıştırması içerir.

Bilinen Saldırı Vektörleri

  • BWT sıralama dizisi tahsisinde tamsayı taşması (örn. CVE-2016-3189).
  • Huffman kod çözme tablosu oluşturulması sırasında sınır dışı (out-of-bounds) yazma.
  • En kötü durum kuadratik BWT sıralama sürelerine neden olan patolojik girdi kalıpları aracılığıyla hizmet reddi (DoS).

Savunmacı En İyi Uygulamalar:

Tarihsel Kökenler ve Kilometre Taşları

2019Federico Mena Quintero, bz3 ve modern açık kaynak girişimleri kapsamında bz2 kod tabanının bakımını modernize ediyor.
2000Sürüm 1.0 yayınlandı ve bz2 formatı Linux dağıtımları ile paket yöneticileri arasında kararlı hale getirildi.
1996Julian Seward, patent sorunları olan daha önceki bzip formatının yerini almak üzere bzip2 0.15 sürümünü yayınladı.

Temel Avantajlar ve Artılar

  • Kaynak kodu tarball'ları, sistem günlükleri ve metin veritabanlarında klasik Gzip'i tutarlı bir şekilde %10 ila %20 oranında geride bırakır.
  • Bağımsız blok mimarisi (100k ila 900k), sağlam bütünlük kontrolü için blok başına 32-bit CRC sağlama toplamları içerir.
  • Tüm Linux, BSD ve macOS komut satırı dağıtımlarında evrensel yerel kullanılabilirlik.

Teknik Kısıtlamalar ve Eksiler

  • Zstandard gibi modern algoritmalara kıyasla önemli ölçüde daha yavaş sıkıştırma ve açma hızları.
  • Yalnızca tek dosya sıkıştırma: birden fazla dosyayı veya dizini paketlemek için TAR (.tar.bz2) ile eşleştirilmesini gerektirir.
  • Gzip veya Zstd'ye göre dosya açma sırasında daha yüksek CPU kullanımı.

İlginç Teknik Bilgiler

  • 'BZh' sihirli baytları 'Burrows-Wheeler Zip Huffman' anlamına gelir ve bunu kilobayt cinsinden blok boyutunu belirten bir rakam ('1' ile '9' arası) takip eder (örn. 'BZh9' = 900 KB).
  • Linux Kernel kaynak kodu, .xz'ye geçmeden önce on yıldan uzun süre yalnızca .tar.bz2 formatında dağıtıldı.
  • Burrows-Wheeler dönüşümü verileri doğrudan sıkıştırmaz; aynı harflerin bir araya gelmesi için karakterlerin sırasını değiştirerek Huffman kodlaması ile kolayca sıkıştırılabilmelerini sağlar.

Sıkça Sorulan Teknik Sorular

.gz ve .bz2 arasındaki fark nedir?

.bz2, .gz'ye göre daha küçük dosya boyutları elde etmek için Burrows-Wheeler dönüşümünü kullanır, ancak sıkıştırmak ve sıkıştırmayı açmak daha uzun sürer.

bzip2 neden 'bzip2recover' komutuna sahiptir?

bzip2, verileri her biri kendi CRC'sine sahip bağımsız 900 KB'lık bloklar halinde sıkıştırdığı için, dosyanın bir kısmı bozulmuş olsa bile bzip2recover zarar görmemiş blokları çıkartabilir.

Bir .tar.bz2 dosyasını nasıl çıkartabilirim?

Komut satırı araçları çalıştırmanıza gerek kalmadan, File2File.app ile .tar.bz2 dosyalarını doğrudan web tarayıcınızda açabilirsiniz.