BZIP2 আর্কাইভ (.bz2)

Bzip2 স্ট্যান্ডার্ড

Bzip2 (BZ2) হলো জুলিয়ান সেওয়ার্ড কর্তৃক তৈরিকৃত একটি ক্লাসিক প্যাটেন্ট-মুক্ত ইউনিক্স কম্প্রেশন ইউটিলিটি এবং ফাইল ফরম্যাট, যা ক্লাসিক Gzip-এর তুলনায় উল্লেখযোগ্যভাবে ভালো কম্প্রেশন অর্জনের জন্য বারোজ-হুইলার ট্রান্সফর্ম ব্যবহার করে।

ইনস্পেক্ট ও মেটাডেটা

অপারেটিং সিস্টেম এবং ফাইল অ্যানালাইজারগুলো শুরুর বাইনারি বাইট সিকোয়েন্স পরীক্ষা করে BZ2 ফাইল শনাক্ত করে:

এখানে ফাইল নির্বাচন করুন বা ড্রপ করুন

ব্যক্তিগত - ফাইল কখনোই আপনার ডিভাইস ছেড়ে যায় না

অথবা পেস্ট করুন Ctrl+V
নেটওয়ার্কে কোনো ডেটা পাঠানো হয় না - গোপনীয়তার নিশ্চয়তা: বাহ্যিক সার্ভারে ০ বাইট আপলোড করা হয়েছে। সমস্ত প্রক্রিয়াকরণ আপনার ব্রাউজার স্যান্ডবক্সে স্থানীয়ভাবে ঘটেছে।

বাইট-লেভেল হেডার সিগনেচার (ম্যাজিক বাইটস)

অপারেটিং সিস্টেম এবং ফাইল অ্যানালাইজারগুলো শুরুর বাইনারি বাইট সিকোয়েন্স পরীক্ষা করে BZ2 ফাইল শনাক্ত করে:

হেক্স সিগনেচার (অফসেট 0):

42 5A 68

ASCII রিপ্রেজেন্টেশন: BZh

স্ট্যান্ডার্ডাইজেশন: Bzip2 Open Source Standard

প্রযুক্তিগত বৈশিষ্ট্য

কন্টেইনার আর্কিটেকচারstream header (“BZh” + block size digit 1-9)-এর পরে compressed data block ও 32-bit CRC থাকে
কম্প্রেশনBurrows-Wheeler Transform (BWT), Move-to-Front (MTF) transform এবং Huffman coding
বাইট এন্ডিয়াননেসBig-Endian bitstream framing-এ ডেটা সাজানো হয়
কালার স্পেসপ্রযোজ্য নয় (Byte Compression Stream)
চ্যানেল ও কাঠামোএকটি file-এর compressed byte stream
সর্বোচ্চ মাত্রাসীমাহীন stream দৈর্ঘ্য (যেকোনো file size সমর্থিত)
স্বচ্ছতা100% bit-exact lossless data সংরক্ষণ
স্ট্রিমিং ও প্রোগ্রেসিভপ্রতিটি block-এর স্বতন্ত্র CRC checksum-সহ block ধরে ক্রমানুসারে streaming

টেকনিক্যাল তুলনা ম্যাট্রিক্স: BZ2 বনাম প্রতিযোগীগণ

প্রযুক্তিগত বৈশিষ্ট্যBZ2 (বর্তমান)GZXZZSTD
কোর অ্যালগরিদমবারোজ-হুইলার ট্রান্সফর্ম (BWT)Deflate (LZ77 + হাফম্যান)LZMA / LZMA2ফাইনাইট স্টেট এন্ট্রপি + LZ77
Gzip-এর সাথে কম্প্রেশনের তুলনাGzip-এর চেয়ে ১০% - ২০% ছোটবেসলাইন স্ট্যান্ডার্ডGzip-এর চেয়ে ২০% - ৩০% ছোটGzip-এর চেয়ে ১০% - ২০% ছোট
ডিকম্প্রেশনের গতিধীর (~৩০-৫০ MB/s)দ্রুত (~৩০০ MB/s)মাঝারি (~১০০ MB/s)অত্যন্ত দ্রুত (>১.৫ GB/s)
ব্লক চেকসামপ্রতি ব্লকে ৩২-বিট CRCসিঙ্গেল স্ট্রিম CRC32স্ট্রিম CRC64স্ট্রিম xxHash64

সাধারণ করাপশন মোড এবং হেক্স রিকভারি গাইড

'bzip2: Data integrity error when decompressing' ত্রুটির কারণে এক্সট্রাকশন বন্ধ হয়ে যায়।

মূল কারণ: কম্প্রেসড ব্লকে ফ্লিপ হওয়া বিটের কারণে BWT ইনভার্স পারমুটেশন ম্যাট্রিক্স CRC32 ভ্যালিডেশনে ব্যর্থ হয়।

পুনরুদ্ধার: ক্ষতিগ্রস্ত খাতের চারপাশের অক্ষত ব্লকগুলো উদ্ধার করতে 'bzip2recover' ইউটিলিটি ব্যবহার করুন।

নিরাপত্তা বিশ্লেষণ ও পার্সার অ্যাটাক ভেক্টর

Bzip2 ইমপ্লিমেন্টেশনে জটিল বিটস্ট্রিম সর্টিং এবং হাফম্যান টেবিল পার্সিং জড়িত থাকে, যেগুলোতে ঐতিহাসিকভাবে পূর্ণসংখ্যা ওভারফ্লোর ত্রুটি দেখা গেছে।

পরিচিত অ্যাটাক ভেক্টর

  • BWT সর্টিং অ্যারে এলোকেশনে পূর্ণসংখ্যা ওভারফ্লো (যেমন: CVE-2016-3189)।
  • হাফম্যান ডিকোডিং টেবিল অ্যাসেম্বলির সময় বাউন্ডসের বাইরে রাইট (Out-of-bounds write)।
  • অস্বাভাবিক ইনপুট প্যাটার্নের কারণে পরিষেবা অস্বীকার (DoS), যা সবচেয়ে খারাপ ক্ষেত্রে BWT সর্টিংয়ের সময়কে দ্বিঘাত হারে বাড়িয়ে দেয়।

প্রতিরক্ষামূলক সেরা অনুশীলন: মেমরির সীমা কার্যকর করা আছে এমন মেমরি-নিরাপদ WASM ডিকোডার দিয়ে BZ2 ফাইল ডিকোড করুন।

ঐতিহাসিক উৎপত্তি ও মাইলফলক

2019ফেডেরিকো মেনা কুইন্টেরো bzip3 ও আধুনিক ওপেন-সোর্স উদ্যোগের আওতায় bzip2 কোডবেসের রক্ষণাবেক্ষণ আধুনিক করেন।
2000সংস্করণ ১.০ প্রকাশিত হয়, যা লিনাক্স ডিস্ট্রিবিউশন এবং প্যাকেজ ম্যানেজারজুড়ে bzip2 ফরম্যাটকে স্থিতিশীল করে।
1996জুলিয়ান সেওয়ার্ড পূর্বে প্যাটেন্টের সমস্যায় থাকা bzip ফরম্যাট প্রতিস্থাপনের জন্য bzip2 ০.১৫ প্রকাশ করেন।

প্রধান সুবিধাসমূহ ও গুণাবলী

  • সোর্স কোড টারবল, সিস্টেম লগ এবং টেক্সট ডাটাবেসে ক্লাসিক Gzip-এর তুলনায় ধারাবাহিকভাবে ১০% থেকে ২০% ভালো পারফর্ম করে।
  • স্বাধীন ব্লক আর্কিটেকচার (১০০কে প্রতি ৯০০কে) শক্তিশালী ইন্টিগ্রিটি চেকিংয়ের জন্য থেকে ব্লকে ৩২-বিট CRC চেকসাম অন্তর্ভুক্ত করে।
  • অনেক Linux, BSD ও macOS কমান্ড-লাইন ডিস্ট্রিবিউশনে অন্তর্নির্মিতভাবে পাওয়া যায়; অন্তর্ভুক্তি ডিস্ট্রিবিউশনভেদে আলাদা।

কারিগরি সীমাবদ্ধতা ও অসুবিধা

  • Zstandard-এর মতো আধুনিক অ্যালগরিদমের তুলনায় কম্প্রেশন এবং ডিকম্প্রেশনের গতি উল্লেখযোগ্যভাবে ধীর।
  • শুধুমাত্র একক-ফাইল কম্প্রেশন: একাধিক ফাইল বা ডিরেক্টরি প্যাকেজ করার জন্য TAR (.tar.bz2)-এর সাথে জোড়া লাগাতে হয়।
  • Gzip বা Zstd-এর তুলনায় ডিকম্প্রেশনের সময় বেশি CPU ব্যবহার করে।

আকর্ষণীয় কারিগরি তথ্য

  • 'BZh' ম্যাজিক বাইটগুলোর অর্থ হলো 'Burrows-Wheeler Zip Huffman', যার পরে কিলোকাবাইটের শতকে ব্লক সাইজ নির্দেশক একটি অঙ্ক ('1' থেকে '9') থাকে (যেমন: 'BZh9' = ৯০০ KB)।
  • লিনাক্স কার্নেল সোর্স কোড .xz-এ স্থানান্তরিত হওয়ার আগে এক দশকেরও বেশি সময় ধরে একচেটিয়াভাবে .tar.bz2 ফরম্যাটে বিতরণ করা হয়েছিল।
  • বারোজ-হুইলার ট্রান্সফর্ম সরাসরি ডেটা কম্প্রেশন করে না; এটি অক্ষরের ক্রম এমনভাবে পরিবর্তন করে যাতে একই অক্ষরগুলো একসাথে জমাট বাঁধে, যা হাফম্যান কোডিংয়ের মাধ্যমে খুব সহজেই কম্প্রেশনের উপযোগী করে তোলে।

সচরাচর জিজ্ঞাসিত প্রযুক্তিগত প্রশ্নাবলি

.gz এবং .bz2-এর মধ্যে পার্থক্য কী?

.bz2 .gz-এর তুলনায় ছোট ফাইল তৈরি করতে Burrows-Wheeler ট্রান্সফর্ম ব্যবহার করে, তবে এটি কমপ্রেস এবং ডিকম্প্রেস করতে বেশি সময় নেয়।

bzip2-এ 'bzip2recover' কমান্ড থাকে কেন?

bzip2 ডেটা স্বাধীন ৯০০ কেবি ব্লকে কমপ্রেস করে এবং প্রতিটি ব্লকের নিজস্ব CRC থাকে বলে, তাই ফাইলের কিছু অংশ নষ্ট হয়ে গেলেও bzip2recover অক্ষত ব্লকগুলি এক্সট্র্যাক্ট করতে পারে।

কীভাবে আমি একটি .tar.bz2 ফাইল এক্সট্র্যাক্ট করব?

কম্যান্ড-লাইন টুল না চালিয়ে আপনি সরাসরি আপনার ওয়েব ব্রাউজারে File2File.app দিয়ে .tar.bz2 ফাইল আনপ্যাক করতে পারেন।