टार: 343398 पर एक शून्य शून्य ब्लॉक


10

ubuntu टर्मिनल में एक tar.gz फ़ाइल को निकालने की कोशिश करते समय एक त्रुटि हुई कि वह अंतिम वाक्य यहाँ है: tar: एक अकेला शून्य ब्लॉक 343398 पर

इस समस्या का हल क्या है ???

जवाबों:


18

यह निर्भर करता है कि यह सभी tar.gzफाइलों के साथ होता है या सिर्फ इस एक के साथ। यह विशेष फ़ाइल भ्रष्ट हो सकती है, और इसलिए यह ठीक से नहीं खुलेगी। यदि निकालने के लिए टार का उपयोग कर रहे हैं, तो आपको zविकल्प का उपयोग करने की आवश्यकता है , क्योंकि जब एक संग्रह gzipped होता है, तो यह आवश्यक है tar xzvf <file.tar.gz>:। वैकल्पिक रूप से, इसके साथ इसे निकालने की कोशिश करना भी लायक हैgunzip <file.tar.gz>

यह पता लगाने के लिए कि क्या फ़ाइल भ्रष्ट है, भागो gzip -t <file.tar.gz>; यह कमांड त्रुटियों के लिए फ़ाइल की जांच करेगा, और यदि कोई पाया जाता है तो उन्हें टर्मिनल में दिखाई देना चाहिए। यह आपको बताना चाहिए कि क्या फ़ाइल भ्रष्ट है।

यदि फ़ाइल ध्वनि है और त्रुटि reoccurs है, तो इसका मतलब है कि यह संभवत: टार के साथ ज्ञात समस्या है जो तब होती है जब किसी फ़ाइल zero blocksमें इसके अंत में एक जोड़ी नहीं होती है, जैसा कि GNU टार को उम्मीद है। इसका समाधान -iअनदेखी करने के विकल्प को जोड़ना है zero blocks। तो उपयोग करें tar ixzvf <file.tar.gz>समस्या यहाँ विस्तार से प्रलेखित है


1

मेरे साथ भी ऐसा ही हुआ है क्योंकि मैंने एक चैनल के माध्यम से stdout और stderr दोनों को अलग किया है जो stderr और stdout (एक Android adb टर्मिनल सत्र) को अलग नहीं करता है।

इस तरह कुछ त्रुटि संदेश स्ट्रीम में समाप्त हो गए। यह दोषपूर्ण आदेश था:

  • दोषपूर्ण आदेश, adb शेल स्थानीय रूप से stderr और stdout को मिला देता है => कचरा! :
    adb shell tar -cf - /some/dir \| uuencode bla | uudecode -o - > backup.tar

  • फिक्स्ड कमांड:
    adb shell tar -cf - /some/dir 2>/dev/null\| uuencode bla | uudecode -o - > backup.tar

यदि आप SSH पर इसी तरह के कमांड को ssh पर कर रहे हैं, तो यदि आप / dev / null में stderr को पुनर्निर्देशित करना भूल जाते हैं, तो ऐसा ही होगा:

ssh user@host tar -czf /some/remote/path 2\>/dev/null > /local/path/to/file.tar.gz


1
अच्छी पकड़। यह भी होता है यदि आप RequestTTY yesअपने ssh_config में सेट करते हैं। स्पष्ट रूप से -T Disable pseudo-tty allocation.मेरे साथ अक्षम किया जा सकता है, त्रुटि tar: Skipping to next headerमूल रूप से थी, अकेला शून्य ब्लॉक तब हुआ जब मैंने कोशिश की --posix..
eMPee584

0

मुझे यह त्रुटि दूसरे दिन एक संग्रह को अनसुना करने की कोशिश में मिली जो कि गज़ब नहीं हुई थी। फ़ाइल का स्रोत मेरे लिए अज्ञात था, लेकिन मुझे लगा कि निर्माता catएक ही बार में कई तार मिलाने के लिए उपयोग कर सकता है । इसके कारण फ़ाइल का जीरो मार्कर tarसंयुक्त आर्काइव के बीच में उपयोगिता द्वारा पढ़ा जा सकता है, इस प्रकार "एक अकेला शून्य ब्लॉक" त्रुटि प्रदर्शित करता है।

अगर ऐसा है तो --ignore-zerosया -iविकल्प इन त्रुटियों को दबाने में मदद कर सकता है। कृपया संदर्भ के रूप में इस लिंक को देखें man tarया देखें ।

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