BZIP2 आर्काइव (.bz2)

Bzip2 मानक

Bzip2 (BZ2) जूलियन सीवार्ड द्वारा बनाई गई एक क्लासिक पेटेंट-मुक्त यूनिक्स संपीड़न यूटिलिटी और फ़ाइल प्रारूप है, जो क्लासिक Gzip की तुलना में काफी बेहतर संपीड़न प्राप्त करने के लिए बरोज़-व्हीलर ट्रांसफ़ॉर्म (Burrows-Wheeler transform) का उपयोग करता है।

इंस्पेक्ट और मेटाडेटा

ऑपरेटिंग सिस्टम और फ़ाइल विश्लेषक शुरुआती बाइनरी बाइट अनुक्रम का निरीक्षण करके BZ2 फ़ाइलों की पहचान करते हैं:

फ़ाइलें यहाँ चुनें या छोड़ें

100% प्राइवेट इन-ब्राउज़र कन्वर्शन - फ़ाइलें कभी आपका डिवाइस नहीं छोड़तीं

या पेस्ट करें Ctrl+V
शून्य-नेटवर्क-ट्रांसमिशन गोपनीयता गारंटी: बाहरी सर्वर पर 0 बाइट अपलोड किए गए। सारी प्रोसेसिंग आपके ब्राउज़र सैन्डबॉक्स में स्थानीय रूप से हुई।

बाइट-स्तरीय हेडर हस्ताक्षर (मैजिक बाइट्स)

ऑपरेटिंग सिस्टम और फ़ाइल विश्लेषक शुरुआती बाइनरी बाइट अनुक्रम का निरीक्षण करके BZ2 फ़ाइलों की पहचान करते हैं:

HEX हस्ताक्षर (ऑफ़सेट 0):

42 5A 68

ASCII निरूपण: BZh

मानकीकरण: Bzip2 Open Source Standard

तकनीकी विनिर्देश

कंटेनर आर्किटेक्चरStream header ('BZh' + block size digit 1-9) followed by compressed data blocks and 32-bit CRC
कंप्रेशनBurrows-Wheeler Transform (BWT), Move-to-Front (MTF) transform, and Huffman coding
बाइट एंडियानेसBig-Endian bitstream framing
कलर स्पेसN/A (Byte Compression Stream)
चैनल और संरचनाSingle-file compressed byte stream
अधिकतम आयामUnbounded stream length (supports arbitrary file sizes)
पारदर्शिता (Transparency)100% bit-exact lossless data preservation
स्ट्रीमिंग और प्रोग्रेसिवSequential block-by-block streaming with independent per-block CRC checksums

तकनीकी तुलना मैट्रिक्स: BZ2 बनाम प्रतियोगी

तकनीकी विशेषताBZ2 (वर्तमान)GZXZZSTD
कोर एल्गोरिथमबरोज़-व्हीलर ट्रांसफ़ॉर्म (BWT)डिफ्लेट (LZ77 + हॉफमैन)LZMA / LZMA2फिनिते स्टेट एंट्रॉपी + LZ77
Gzip बनाम संपीड़नGzip से 10% - 20% छोटाबेसलाइन मानकGzip से 20% - 30% छोटाGzip से 10% - 20% छोटा
डीकंप्रेसन गतिधीमी (~30-50 MB/s)तेज़ (~300 MB/s)मध्यम (~100 MB/s)अत्यंत तेज़ (>1.5 GB/s)
ब्लॉक चेकसमप्रति-ब्लॉक 32-बिट CRCएकल स्ट्रीम CRC32स्ट्रीम CRC64स्ट्रीम xxHash64

सामान्य करप्शन मोड और हेक्स रिकवरी गाइड

निष्कर्षण 'bzip2: Data integrity error when decompressing' के साथ निरस्त हो जाता है।

मूल कारण: संपीड़ित ब्लॉक में फ़्लिप किया गया बिट जिसके कारण BWT व्युत्क्रम क्रमपरिवर्तन मैट्रिक्स CRC32 सत्यापन में विफल हो जाता है।

रिकवरी: दूषित सेक्टर के आसपास के बिना क्षतिग्रस्त ब्लॉकों को बचाने के लिए 'bzip2recover' यूटिलिटी का उपयोग करें।

सुरक्षा विश्लेषण और पार्सर अटैक वेक्टर्स

Bzip2 कार्यान्वयन में जटिल बिटस्ट्रीम छँटाई और हॉफमैन टेबल पार्सिंग शामिल हैं जिनमें ऐतिहासिक रूप से पूर्णांक अतिप्रवाह (integer overflow) खामियां आई हैं।

ज्ञात अटैक वेक्टर्स

  • BWT छँटाई सरणी आवंटन में पूर्णांक अतिप्रवाह (उदा. CVE-2016-3189)।
  • हॉफमैन डिकोडिंग टेबल असेंबली के दौरान सीमा से बाहर (out-of-bounds) लिखना।
  • सबसे खराब स्थिति में द्विघात BWT छँटाई समय पैदा करने वाले रोग संबंधी इनपुट पैटर्न के माध्यम से सेवा से इनकार (DoS)।

सुरक्षात्मक सर्वोत्तम प्रथाएँ:

ऐतिहासिक मूल और मील के पत्थर

2019फेडरिको मेना क्विंटरो bz3 और आधुनिक ओपन-सोर्स पहलों के तहत bz2 कोडबेस रखरखाव को आधुनिक बनाते हैं।
2000संस्करण 1.0 जारी किया गया, जो लिनक्स वितरण और पैकेज प्रबंधकों में bz2 प्रारूप को स्थिर करता है।
1996जूलियन सीवार्ड ने पहले के bz प्रारूप को बदलने के लिए bz2 0.15 जारी किया, जिसमें पेटेंट संबंधी चिंताएं थीं।

मुख्य लाभ और खूबियाँ

  • सोर्स कोड टारबॉल्स, सिस्टम लॉग और टेक्स्ट डेटाबेस पर लगातार क्लासिक Gzip को 10% से 20% तक मात देता है।
  • स्वतंत्र ब्लॉक आर्किटेक्चर (100k से 900k) में मजबूत अखंडता जांच के लिए प्रति-ब्लॉक 32-बिट CRC चेकसम शामिल हैं।
  • सभी लिनक्स, BSD और macOS कमांड-लाइन वितरणों में सार्वभौमिक मूल उपलब्धता।

तकनीकी सीमाएँ और कमियाँ

  • Zstandard जैसे आधुनिक एल्गोरिदम की तुलना में काफी धीमी संपीड़न और डीकंप्रेसन गति।
  • केवल एकल-फ़ाइल संपीड़न: एकाधिक फ़ाइलों या निर्देशिकाओं को पैकेज करने के लिए TAR (.tar.bz2) के साथ युग्मन की आवश्यकता होती है।
  • Gzip या Zstd की तुलना में डीकंप्रेसन के दौरान उच्च CPU उपयोग।

रोचक तकनीकी जानकारी

  • 'BZh' मैजिक बाइट्स का मतलब 'बरोज़-व्हीलर ज़िप हॉफमैन' है, जिसके बाद एक अंक ('1' से '9') होता है जो सौ किलोबाइट में ब्लॉक आकार को दर्शाता है (उदा. 'BZh9' = 900 KB)।
  • .xz में माइग्रेट करने से पहले लिनक्स कर्नेल स्रोत कोड एक दशक से अधिक समय तक विशेष रूप से .tar.bz2 प्रारूप में वितरित किया गया था।
  • बरोज़-व्हीलर ट्रांसफ़ॉर्म सीधे डेटा को संपीड़ित नहीं करता है; यह वर्णों के क्रम को क्रम्यूट करता है ताकि समान अक्षर एक साथ आ जाएं, जिससे वे हॉफमैन कोडिंग द्वारा आसानी से संपीड़ित हो सकें।

अक्सर पूछे جانے वाले तकनीकी प्रश्न

.gz और .bz2 में क्या अंतर है?

.bz2 फ़ाइल का साइज़ .gz से छोटा करने के लिए Burrows-Wheeler ट्रांसफ़ॉर्म का उपयोग करता है, लेकिन इसे कंप्रेस और डीकंप्रेस करने में अधिक समय लगता है।

bzip2 में 'bzip2recover' कमांड क्यों होती है?

चूँकि bzip2 डेटा को स्वतंत्र 900 KB ब्लॉकों में कंप्रेस करता है, जिनमें से प्रत्येक का अपना CRC होता है, इसलिए फ़ाइल का कुछ हिस्सा खराब होने पर भी bzip2recover बिना नुकसान वाले ब्लॉकों को निकाल सकता है।

मैं .tar.bz2 फ़ाइल को कैसे एक्सट्रैक्ट कर सकता हूँ?

आप कमांड-लाइन टूल चलाए बिना सीधे अपने वेब ब्राउज़र में File2File.app के साथ .tar.bz2 फ़ाइलों को अनपैक कर सकते हैं।