Ubuntu में bunzip2 से .bz2 फ़ाइलें निष्कर्षण: हैंड्स-ऑन गाइड

परिचय

लिनक्स आधारित ऑपरेटिंग सिस्टम्स में उच्च संपीड़न अनुपात (high compression ratio) वाली .bz2 अभिलेखागार फ़ाइलों को प्रबंधित करने के लिए bunzip2 एक अत्यंत सशक्त उपयोगिता है। इस व्यावहारिक मार्गदर्शिका में हम बुनियादी डिकंप्रेशन से लेकर मूल फ़ाइल संरक्षण, बलपूर्वक पुनर्लेखन तथा टर्मिनल स्ट्रीम आउटपुट जैसी प्रमुख कार्यप्रणालियों का विस्तृत विश्लेषण करेंगे।

पैकेज सेटअप एवं प्राथमिक डिकंप्रेशन प्रक्रिया

सिस्टम पर आवश्यक टूल्स की उपलब्धता सुनिश्चित करने हेतु रिपॉजिटरी सूची अद्यतन करते हुए apt-get update -qq && apt-get install -y bzip2 चलाएँ।

bzip2 पैकेज संस्थापन

परीक्षण डेटा तैयार करने के उद्देश्य से एक डमी टेक्स्ट फ़ाइल बनाकर उसे कंप्रेस करने के लिए echo 'Hello Linux bunzip2 tutorial' > sample1.txt && bzip2 sample1.txt निष्पादित करें।

नमूना डेटा निर्माण एवं संपीड़न

टारगेट .bz2 अर्काइव को अनपैक करने हेतु bunzip2 sample1.txt.bz2 सिंटैक्स का उपयोग किया जाता है।
डिफ़ॉल्ट व्यवहार के तहत, निष्कर्षण पूरा होते ही मूल .bz2 फ़ाइल स्टोरेज से मिट जाती है और उसकी जगह अनकंप्रेस्ड प्लेन टेक्स्ट फ़ाइल पुनर्स्थापित हो जाती है।
⚙️ [महत्वपूर्ण स्विचेस]

-k : निष्कर्षण प्रक्रिया समाप्त होने के उपरांत भी मूल .bz2 स्रोत फ़ाइल को सुरक्षित बनाए रखता है।
-f : समान नाम वाली पूर्ववर्ती फ़ाइल उपस्थित होने पर भी बिना किसी पुष्टिकरण के ओवरराइट कर देता है।
-v : संपीड़न मुक्ति की विस्तृत प्रगति और मेट्रिक्स स्क्रीन पर प्रदर्शित करता है।
-c : परिणामी डेटा को ड्राइव पर डिस्क फ़ाइल के रूप में सहेजने के बजाय सीधे मानक आउटपुट (stdout) पर भेजता है।
-t : फ़ाइल को अनपैक किए बिना केवल अभिलेखागार की अखंडता और त्रुटियों की जाँच करता है।

bunzip2 द्वारा मूल निष्कर्षण

पुनर्प्राप्त फ़ाइल की सामग्री सत्यापित करने के लिए cat sample1.txt का उपयोग करके टर्मिनल पर आउटपुट देखें।

पुनर्प्राप्त फ़ाइल सामग्री का सत्यापन

मूल आर्काइव फ़ाइल को हटाए बिना डेटा निष्कर्षण (-k फ़्लैग)

स्रोत फ़ाइल संरक्षण की कार्यप्रणाली परखने हेतु echo 'Keep original archive test' > keep_test.txt && bzip2 keep_test.txt कमांड द्वारा एक नया संपीड़ित परीक्षण लक्ष्य तैयार करें।

सुरक्षित निष्कर्षण हेतु फ़ाइल निर्माण

bunzip2 -k keep_test.txt.bz2 निष्पादित करने पर -k विकल्प सक्रिय हो जाता है, जिससे मूल .bz2 संग्रह बिना नष्ट हुए यथावत बना रहता है और अनकंप्रेस्ड डेटा भी प्राप्त हो जाता है।

स्रोत फ़ाइल संरक्षण के साथ अनपैक करना

सत्यापन हेतु डायरेक्टरी स्थिति जांचने के लिए ls -lh keep_test* रन करें; आप देखेंगे कि डिकंप्रेस्ड टेक्स्ट फ़ाइल (keep_test.txt) तथा कंप्रेस्ड आर्काइव (keep_test.txt.bz2) दोनों डिस्क पर सुरक्षित मौजूद हैं।

दोनों फ़ाइलों की उपस्थिति की पुष्टि

वर्बोज़ आउटपुट ट्रैकिंग एवं फ़ोर्स ओवरराइटिंग (-v, -f ऑप्शन्स)

अनिवार्य पुनर्लेखन और प्रक्रिया विवरण की जाँच के लिए, मौजूदा स्रोत को बनाए रखते हुए एक नया अभिलेखागार तैयार करने हेतु echo 'Force overwrite test content' > force_test.txt && bzip2 -k force_test.txt चलाएँ।

ओवरराइट परीक्षण सेटअप

जब आप bunzip2 -vf force_test.txt.bz2 रन करते हैं, तो -f फ़्लैग पहले से मौजूद समान नाम वाली फ़ाइल (force_test.txt) को बिना इंटरैक्शन के तुरंत ओवरराइट कर देता है, जबकि -v फ़्लैग संपूर्ण डिकंप्रेशन अनुपात एवं स्थिति की जानकारी कंसोल पर लाइव रिपोर्ट करता है।

वर्बोज़ मोड में बलपूर्वक ओवरराइट

डिस्क पर अनपैक किए बिना सीधे फ़ाइल सामग्री देखना (-c फ़्लैग)

स्ट्रीमिंग पूर्वावलोकन का अभ्यास करने के लिए echo 'Stream and preview test data' > stream_test.txt && bzip2 stream_test.txt के ज़रिए नया परीक्षण डेटा निर्मित एवं संपीड़ित करें।

स्ट्रीमिंग परीक्षण फ़ाइल का निर्माण

bunzip2 -c stream_test.txt.bz2 कमांड -c स्विच के माध्यम से डेटा को डिस्क पर एक्सट्रेक्ट करने के बजाय सीधे टर्मिनल स्क्रीन (stdout) पर स्ट्रीम कर देती है।
यह दृष्टिकोण बड़ी लॉग फ़ाइलों का त्वरित निरीक्षण करने अथवा पाइपलाइन (|) के ज़रिए अन्य टूल्स को डेटा पास करने के लिए बेहद कारगर सिद्ध होता है।

मानक आउटपुट पर डेटा स्ट्रीम करना

ls -lh stream_test.txt.bz2 द्वारा फ़ाइल सिस्टम की स्थिति देखने पर स्पष्ट होता है कि -c का प्रयोग करने से मूल आर्काइव फ़ाइल पूरी तरह अपरिवर्तित और सुरक्षित रहती है।

मूल अर्काइव की सुरक्षा का सत्यापन

इस गाइड में हमने उबंटू परिवेश में bunzip2 का उपयोग करके .bz2 फ़ाइलों को विभिन्न व्यावसायिक परिदृश्यों के अनुरूप प्रबंधित करने की तकनीकें सीखीं। अपने दैनिक सिस्टम प्रशासन और ऑटोमेशन स्क्रिप्ट्स में इन विकल्पों का उपयोग कर कार्यक्षमता को और अधिक सुदृढ़ बनाएं।