दुर्भाग्य से, .tar.gz
संग्रह के एकल सदस्य को अनपैक करने के लिए आपको पूरे संग्रह को संसाधित करना होगा, और इसे ठीक करने के लिए आप बहुत कुछ नहीं कर सकते।
यह वह जगह है जहां .zip
(और कुछ अन्य प्रारूप जैसे .rar
) अभिलेखागार बेहतर तरीके से काम करते हैं, क्योंकि zip
प्रारूप में सभी फाइलों की केंद्रीय निर्देशिका होती है zip
, जिसमें फ़ाइल के मध्य की ओर इशारा करते हुए प्रत्यक्ष ऑफ़सेट्स होते हैं , इसलिए संग्रह के सदस्यों को पूरी चीज़ को संसाधित किए बिना जल्दी से निकाला जा सकता है।
आप पूछ सकते हैं कि प्रसंस्करण .tar.gz
इतना धीमा क्यों है?
.tar.gz
(अक्सर के रूप में छोटा .tgz
) .tar
कंप्रेसर के साथ gzip
संपीड़ित बस संग्रह है । gzip
स्ट्रीमिंग कंप्रेसर है जो केवल एक फ़ाइल के साथ काम कर सकता है। यदि आप gzip
स्ट्रीम का कोई भी भाग प्राप्त करना चाहते हैं , तो आपको इसे पूरी तरह से अनकैप्ड करना होगा और यही वह है जो वास्तव में .tar.gz
(और इसके लिए .tar.bz2
, .tar.xz
और इसी तरह के अन्य स्वरूपों के आधार पर .tar
) को मारता है ।
.tar
प्रारूप वास्तव में बहुत, बहुत सरल है। यह केवल 512-बाइट फ़ाइल या निर्देशिका हेडर (नाम, आकार, आदि) की धारा है, प्रत्येक फ़ाइल या निर्देशिका सामग्री (यदि आवश्यक हो तो 0 बाइट्स के साथ 512 ब्लॉक आकार के लिए गद्देदार)। जब आप किसी शीर्ष लेख के लिए पूरी तरह से रिक्त 512 ब्लॉक का निरीक्षण करते हैं, तो इसका मतलब .tar
संग्रह का अंत है ।
कुछ लोग सोचते हैं कि .tar
संग्रह के सदस्यों तक भी जल्दी नहीं पहुँचा जा सकता है, लेकिन यह बिल्कुल सच नहीं है। यदि .tar
संग्रह में कुछ बड़ी फाइलें हैं, तो आप वास्तव में अगले हेडर में तलाश कर सकते हैं, और इस प्रकार आप कुछ आर्काइव में आवश्यक संग्रह सदस्य पा सकते हैं (लेकिन फिर भी उतने ही चाहने वाले हो सकते हैं जितने कि संग्रह सदस्य हैं)। यदि आपके .tar
संग्रह में बहुत सारी छोटी फ़ाइलें हैं, तो इसका मतलब है कि त्वरित सदस्य पुनर्प्राप्ति प्रभावी रूप से असम्पीडित के लिए भी असंभव हो जाती है .tar
।