मुझे एहसास है कि यह धागा कुछ साल से अधिक पुराना है, लेकिन मैं उन लोगों के लिए टिप्पणी कर रहा हूं जो इस थ्रेड पर त्रुटि के साथ ठोकर खा रहे हैं।
जब भी आप संपीड़न विकल्प का उपयोग करते हैं, तो टैर अंतर्निहित प्रोग्राम को एक पाइप का उपयोग करके एक कनेक्शन खोलता है। तो, ओपी के उदाहरण में: tar -xvzf $filename.tar.gz
, वास्तव में क्या टैर वास्तव में ऐसा कुछ चलाएगा: gunzip $filename.tar.gz | tar -xv -
। आप top
चलाकर इसे सत्यापित कर सकते हैं, जहां आप दो प्रक्रियाएं देखेंगे (एक टैर के लिए और एक gzip के लिए)।
कभी-कभी, पाइपलाइन स्वयं टूट जाती है। उदाहरण के लिए, अगर फ़ाइल एक gzip फ़ाइल नहीं है। उदाहरण के लिए इसे लें: tar -xvzf somefile.iso
, जो gunzip somefile.iso | tar -xv -
के बराबर होगा। ऐसी स्थिति में, gzip त्रुटि होगी। जब gzip त्रुटियां बाहर होती हैं, तो पाइपलाइन टूट जाएगी। एक और संभावना यह होगी कि gzip फ़ाइल सही थी, लेकिन इसके अंदर टैर फ़ाइल दूषित थी। इस मामले में, gzip असम्पीडित स्ट्रीम को टैर पर भेजना शुरू कर देता है, लेकिन फिर टैर महसूस करता है कि कुछ गलत है और स्ट्रीम बंद कर देता है। यहां gzip फिर त्रुटि होगी, क्योंकि यह आउटपुट बंद है।
बाहर निकलने वाले मूल्यों में, 128 से ऊपर का मान सिग्नल के कारण समाप्ति को इंगित करता है, और 128 से ऊपर की राशि दर्शाती है कि किस सिग्नल को समाप्त करने का कारण बनता है। इसलिए, यदि हम 141 के ओपी के एक्ज़िट कोड से 128 घटाते हैं, तो हमें 13 मिलते हैं, जो सिग्पिप (man 7 signal
मानक संकेतों और उनके संबंधित पूर्णांक मानों की सूची के लिए) से मेल खाता है।
मैन पेज एसआईजीपीआईपीई की टिप्पणी को "टूटा हुआ पाइप: कोई पाठक के साथ पाइप पर लिखें" के रूप में सूचीबद्ध करता है। तो फिर, ऐसा लगता है कि gzip पाइप को लिखने की कोशिश कर रहा है, लेकिन टैर सुनना बंद कर दिया है। मेरा अनुमान है कि gzip फ़ाइल को सफलतापूर्वक असम्पीडित कर रहा है, लेकिन असम्पीडित स्ट्रीम मान्य टैर संग्रह नहीं है। मेरी सलाह यहां फाइल पर गनज़िप चलाने के लिए होगी, फिर परिणाम फ़ाइल पर टैर चलाएं और देखें कि कौन सा विफल रहता है (सिगिपी के आधार पर, मेरा अनुमान है कि टैर असफल हो जाएगा)। किसी भी मामले में, ऐसा लगता है कि फ़ाइल टूल्स के इन संस्करणों (या तो भ्रष्टाचार या किसी प्रकार का संस्करण संघर्ष) द्वारा पठनीय नहीं है।
इन फ़ाइलों को कैसे बनाया गया था (टैर के लिए कौन से विकल्प आदि)? क्या वे इस मशीन या किसी अन्य मशीन पर बनाए गए हैं? यदि आप इस मशीन पर .tar.gz फ़ाइल बनाते हैं, तो क्या यह मशीन त्रुटि के बिना उन फ़ाइलों को निकाल सकती है?
मैंने अपनी स्क्रिप्ट को गनज़िप $ filname.tar.gz करने के लिए बदल दिया; tar -xvf $ filename.tar फिर से इसके टैर जो 141 –
के साथ विफल रहता है क्या आपने इसे --verbose के साथ चलाने का प्रयास किया था, और क्या आपको कोई सुराग मिला?टैर रिमोट टेप के लिए आरएमटी भी चलाता है; एक अंतःस्थापित समस्या टेप ड्राइव के साथ एक नेटवर्क मुद्दा हो सकता है। यह जानकर कि आप कौन सी ओएस चल रहे हैं, मदद कर सकते हैं। –
ओह, ओएस को कभी भी ध्यान न दें, मैं इसे अब देखता हूं। –