क्या gzip अखंडता / crc को एक .tar में जोड़ता है?


12

मैं कमांड चलाता हूं:

tar -cf myArchive.tar myDirectory/
gzip myArchive.tar

तब मैं फ़ाइल को बहुत सारे अविश्वसनीय माध्यमों पर कॉपी करता हूं, और बाद में मैं इसका उपयोग करके इसे खोल देता हूं:

tar -xzf myArchive.tar.gz

यह तथ्य कि मैंने टार-बॉल को संकुचित किया है, क्या यह किसी भी तरह से अखंडता की गारंटी देगा, या कम से कम अनपैक की गई सामग्री का सीआरसी होगा?

जवाबों:


15

tarखुद बाद में कम्पास के लिए एक चेकसम नहीं लिखते हैं। यदि आप संग्रह के आपको लगता है कि कार्यक्षमता हो सकता है।gziptar

tarका उपयोग करता है compress। अगर आप -Zआर्काइव बनाते समय ध्वज का उपयोग करते हैं तो संग्रह tarको compressपढ़ते या लिखते समय कार्यक्रम का उपयोग करेंगे । से gzipमैनपेज:

स्थिरता की जांच करने की अनुमति देने के लिए मानक संपीड़ित प्रारूप तैयार नहीं किया गया था।

लेकिन, आप -zपैरामीटर का उपयोग कर सकते हैं । फिर tarसंग्रह के माध्यम से पढ़ता है और लिखता है gzip। और gzipएक crc चेकसम लिखता है। यह दिखाने के लिए कि चेकसम उस कमांड का उपयोग करता है:

$ gzip -lv archive.tar.gz
method  crc     date  time           compressed        uncompressed  ratio uncompressed_name
defla 3f641c33 Sep 25 14:01               24270              122880  80.3% archive.tar

से gzipमैनपेज:

पहले दो स्वरूपों का उपयोग करते समय ( gzip या zip का मतलब होता है ), gunzip एक 32 बिट CRC की जाँच करता है।


5

हां, gzip फ़ाइल प्रारूप में CRC-32 चेकसम है, जिसका उपयोग यह पता लगाने के लिए किया जा सकता है कि क्या संग्रह दूषित हो गया है।

बेशक, जबकि चेकसम gzip आपको बताता है कि संग्रह दूषित है, यह वास्तव में संग्रह के अंदर डेटा को पुनर्प्राप्त करने में आपकी मदद करने के लिए कुछ भी नहीं करता है। इस प्रकार, यह ज्यादातर चीजों के लिए उपयोगी है जैसे कि आप अभी-अभी वेब से डाउनलोड किया गया एक संग्रह सही ढंग से डाउनलोड किया गया था।

यदि आप वास्तव में अविश्वसनीय मीडिया पर अपने अभिलेखागार को संग्रहीत करने या प्रसारित करने के बारे में चिंतित हैं, तो आप समता जैसे संग्रह प्रारूप का उपयोग करने पर विचार कर सकते हैं जो वास्तव में त्रुटि का पता लगाने के अलावा त्रुटि सुधार प्रदान करता है । बेशक, ऐसे प्रारूपों का डाउन साइड यह है कि त्रुटि सुधार के लिए आवश्यक अतिरेक आवश्यक रूप से फ़ाइल का आकार कुछ हद तक बढ़ाता है।


4

tarएक अखंडता की जाँच नहीं है। उदाहरण:

$ echo JJJJJJJJJJJJJJJJJJ > b
$ tar cvf a.tar b
$ sed -i s/JJJJJJJJJJJJJJJJJJ/tttttttttttttttttt/g a.tar
$ tar xvf a.tar
$ cat b

tttttttttttttttttt

देखें, a.tarसंग्रह की सामग्री बदल गई है, इसलिए फ़ाइल bमें पूरी तरह से अलग सामग्री है, लेकिन टार ने इस पर ध्यान नहीं दिया। यह किसी भी टार के लिए सही है, जिसमें टार -१.२ true (नवीनतम) दोनों टार प्रारूपों के साथ है --format=gnu --format=posixpaxआदेश (वैकल्पिक टार पाठक) pax -r < a.tarभी संग्रह में परिवर्तन की सूचना नहीं है।


2
ओपी बारे में पता (या कम से कम संदिग्ध) कि हो रहा है tar(कम से कम बिना-z विकल्प) अखंडता की जाँच नहीं करता है। इसके अलावा, स्वीकृत उत्तर यह बताता है। प्रश्न यह है: क्या gzip(या -zविकल्प का उपयोग ) अखंडता की जाँच को जोड़ता है?
जी-मैन का कहना है कि 'मोनिका'

सही G- मैन, यह एक ठीक जवाब हो सकता है अगर इसमें gzip हिस्सा शामिल है और यह दर्शाता है कि gzip यह पता लगाता है कि सामग्री बदल गई है।
अक्सेल विलगर्ट

2

यदि टार्क अनपैक करते समय त्रुटियां पाता है, तो यह एक संदेश को प्रिंट करेगा और गैर-शून्य निकास मान के साथ बाहर निकलेगा। यह व्यवहार टार फ़ाइल बनाए जाने के बाद उपयोग किए जाने वाले संपीड़न एल्गोरिथम से स्वतंत्र है।

यदि आप सत्यापित करना चाहते हैं कि फ़ाइल को किसी अविश्वसनीय लिंक पर गंतव्य के लिए सफलतापूर्वक भेजा गया था, तो रिसेप्शन के बाद md5 योग भेजने और सत्यापित करने से पहले फ़ाइल का एक md5 योग बनाएं।


अगर im केवल अनपैक्ड सामग्री की अखंडता में रुचि रखता है। टार पर md5 चेकपैक की तुलना में अतिरिक्त कुछ भी नहीं जोड़ता है जो अनपैन्किन के दौरान टार करता है?
अक्षेल विलगर्ट

टार आर्काइव के अंदर सामग्री की अखंडता का ध्यान रखा जाता tarहै। यदि आवश्यक हो तो आप एक अतिरिक्त परत जोड़ सकते हैं: यदि टार फ़ाइल की अखंडता सत्यापित है, तो टार संग्रह के अंदर की सामग्री ठीक है, भी। लेकिन पहले स्थान पर डेटा को स्थानांतरित करने के लिए उपयोग किए जाने वाले प्रोटोकॉल द्वारा सभी का ध्यान रखा जाना चाहिए।
जनवरी

-1

PKZip पैकेज (जीत / डॉस) PKZipFix नामक एक प्रोग्राम के साथ आता है जो क्षतिग्रस्त अभिलेखागार से फ़ाइलों को पुनर्प्राप्त कर सकता है। मैंने अतीत में इस उपयोगिता का उपयोग किया है, यह मामूली क्षतिग्रस्त अभिलेखागार से फ़ाइलों को पुनर्प्राप्त कर सकता है जो कि डीकंप्रेस नहीं होंगे।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.