Tar.gz फ़ाइल लौटाता है, "यह एक टार संग्रह की तरह नहीं दिखता है।"


29

मेरे पास एक tar.gz फ़ाइल है और मैं इसे टर्मिनल का उपयोग करके निकालना चाहता हूं। मैंने निम्नलिखित आदेशों का उपयोग किया: tar tvzf ldtp_3.5.0.orig.tar.gzऔर tar -xvzf ldtp_3.5.0.orig.tar.gz। हालाँकि, मुझे दोनों फ़ाइलों के लिए एक ही परिणाम मिलता है:

tar: This does not look like a tar archive
tar: Skipping to next header
tar: Exiting with failure status due to previous errors

मैं फ़ाइल कमांड का आउटपुट इसकी gzip फाइल दिखाता है:

$ file ldtp_3.5.0.orig.tar.gz 
ldtp_3.5.0.orig.tar.gz: gzip compressed data, from Unix

मैं इसे राइट-क्लिक -> एक्सट्रैक्ट का उपयोग करके निकाल सकता हूं लेकिन मैं टर्मिनल का उपयोग करके ऐसा करना चाहता हूं। किसी ने मुझे बता सकते हैं कि कैसे करना है?

जवाबों:


38

आप जिस त्रुटि को देख रहे हैं उसे इस तथ्य से जोड़कर देख सकते हैं कि आप वास्तव में यह कह सकते हैं कि फ़ाइल एक वास्तविक TAR / Gzip संग्रह है, लेकिन शायद GARip के बाद तत्काल TAR नहीं बनाया गया है।

मतलब, यदि आपने इसे वेब सर्वर से डाउनलोड किया है, तो कभी-कभी सामग्री डाउनलोड को गति देने के लिए सर्वर स्तर पर Gzip संपीड़न को वेब सामग्री पर लागू किया जाता है। लेकिन अगर इस तरह से पहले से ही संपीड़ित सामग्री को अनदेखा करने के लिए सर्वर पर ठीक से सेट नहीं किया गया है, तो यह अनजाने में डबल-गज़िप फ़ाइलों को कर सकता है।

इस बात को ध्यान में रखते हुए कि क्या होता है, यह देखने के लिए मैं कमांड लाइन से अन-गज़िप करता हूं। इस तरह एक कमांड का उपयोग करें:

gzip -d ldtp_3.5.0.orig.tar.gz

और देखें कि परिणामी फ़ाइल क्या है। आपके द्वारा उस आदेश को चलाने के बाद मुझे एक अजीब लग रहा है, आप ldtp_3.5.0.orig.tarनिर्देशिका में नहीं देखेंगे , बल्कि स्रोत की तरह एक फ़ाइल ldtp_3.5.0.orig.tar.gz- - लेकिन शायद संशोधन के साथ बदल गया है? अगर ऐसा है तो यह सही मायने में डबल-जीजेड है। तो इस बिंदु पर - उसके बाद प्रारंभिक संयुक्त राष्ट्र Gzip- आप tarइस तरह से कमांड चला सकते हैं :

tar -xvzf ldtp_3.5.0.orig.tar.gz

और इसे अब पूर्ण TAR संग्रह को ठीक से विघटित करना चाहिए।

कि दो चरणों वाली प्रक्रिया के लिए इसी तरह कुछ करने का एक और तरीका है पाइप के उत्पादन होता है gzipकरने के लिए tarइस तरह:

gzip -dc ldtp_3.5.0.orig.tar.gz | tar -xvzf -

cमें gzipऔर साथ ही -आदेश के अंत में कुंजी है:

  • इसके लिए cविकल्प मानक आउटपुट स्ट्रीम को डिकम्प्रेस करने के लिए gzipबताएगा gzip
  • -के अंत में tarआदेश का अर्थ है "मानक इनपुट का उपयोग करें।" तो के साथ मिलकर -cमें gzip, पाइप तो मानक आउटपुट ले जाएगा धारा से इसे करने के लिए पहुंचाया gzipऔर में मानक इनपुट से कनेक्ट कि tar

1
मैंने पहली कमांड की कोशिश की gzip -d ldtp_3.5.0.orig.tar.gzऔर मुझे (अजीब तरह से) एक .tarफाइल मिली । हालाँकि, जब मैंने कोशिश की तो tar -xvf ldtp_3.5.0.orig.tarमुझे एक त्रुटि मिली: tar: v: Cannot open: No such file or directory tar: Error is not recoverable: exiting now
TheRookierLearner

@ TheRookierLearner तब क्या होता है यदि आप gzip -d ldtp_3.5.0.orig.tarपर क्या करना है ldtp_3.5.0.orig.tar?
जेकलॉउंड

मैंने कोशिश की gzip -d ldtp_3.5.0.orig.tar.gzऔर मुझे संदेश मिल गया gzip: ldtp_3.5.0.orig.tar: unknown suffix -- ignored gzip: on.gz: No such file or directory gzip: the.gz: No such file or directory gzip: ldtp_3.5.0.orig.tar: unknown suffix -- ignored । इसके बाद मैंने कोशिश की tar -xvzf ldtp_3.5.0.orig.tarऔर यह काम कर गया! अनेक अनेक धन्यवाद!
TheRookierLearner
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.