लिनक्स टकसाल 12 - टर्मिनल में .zip फ़ाइल कैसे खोलें


3

इसके बारे में ऊपर दिए गए प्रश्न में इसे शामिल किया गया है- मुझे बहुत खेद है, मैं हर समय उत्तर देखता हूं लेकिन, हालांकि, बहुत स्पष्ट है, मैं बस उन्हें अपने टर्मिनल पर लागू नहीं कर सकता।

मेरे पास एक ज़िप्ड फ़ोल्डर है, मैं इसे आर्काइव में नहीं खोल सकता: मुझे निम्न त्रुटि मिलती है:

Archive:  /home/elansa/Music/Music.zip
Zip file size: 2011856896 bytes, number of entries: 4693

warning [/home/elansa/Music/Music.zip]:  end-of-central-directory record claims this
  is disk 176 but that the central directory starts on disk 20153; this is a
  contradiction.  Attempting to process anyway.
error [/home/elansa/Music/Music.zip]:  missing 3025939027 bytes in zipfile
  (attempting to process anyway)
error [/home/elansa/Music/Music.zip]:  start of central directory not found;
  zipfile corrupt.
  (please check that you have transferred or created the zipfile in the
  appropriate BINARY mode and that you have compiled UnZip properly)

मैं पढ़ रहा था कि टर्मिनल में इस तरह की त्रुटि को ठीक किया जा सकता है। क्या ये सच है? यदि ऐसा हो तो क्या मेरे पास निर्देश हो सकते हैं? मैं कभी जिप नहीं खोल पाया। मुझे विश्वास नहीं हो रहा है कि मैं बेवकूफ हूं, लेकिन यह मुझे परेशान करता है।

किसी भी तरह की सहायता का स्वागत किया जाएगा।


यह एक है .tar.gzया यह एक '.zip' फ़ाइल है? यह प्रतीत होता है zipलेकिन आपका प्रश्न कहता है .tar.gz
केविन पैंको

क्या आपने बंदूक चलाने की कोशिश की है?
स्कॉटएंड्रूवर्स

यदि आप दर्ज करते हैं तो क्या कोई उपयोगी आउटपुट है unzip -t Music.zip?
तोहवोहोहू

शायद यह मदद करता है: superuser.com/q/23290/84724
tohuwawohu

1
असल में, file Music.zipमूल प्रश्नकर्ता द्वारा प्रश्न में पुट आउट करने में क्या मदद मिलेगी ।
JdeBP 19

जवाबों:


5

सबसे पहले, आपने अपनी पोस्ट में जो फ़ाइल सूचीबद्ध की है, वह .tar.gz फ़ाइल नहीं है। यह एक ज़िप फ़ाइल प्रतीत होती है। जिप फाइल यह भी देखती है कि यह किसी तरह दूषित या अपूर्ण है।

लेकिन अपने प्रश्न का उत्तर देने के लिए, यदि आपके पास एक .tar.gz फ़ाइल है, (आपको अपने होम निर्देशिका में music.tar.gz कहते हैं) आप इस तरह से सामग्री निकालेंगे (यह मानता है कि आप उसी निर्देशिका में हैं .tar.gz फ़ाइल)

tar -xzvf music.tar.gz

यह वर्तमान निर्देशिका (। होम निर्देशिका) में .tar.gz संग्रह को निकाल देगा

-z : Uncompress the resulting archive with gzip command.
-x : Extract to disk from the archive.
-v : Produce verbose output i.e. show progress and file names while extracting files.
-f music.tar.gz : Read the archive from the specified file called music.tar.gz.

आपके लिए कुछ सवाल। क्या आपने लिनक्स सिस्टम या विंडोज में इस ज़िप फाइल को बनाया है? मैंने यह देखा है कि यदि आप WinZIP का उपयोग करके फ़ाइल बनाते हैं, तो किसी अजनबी कारण से जब आप लिनक्स या मैक ओएस एक्स पर इसे निकालने का प्रयास करेंगे तो संग्रह अधूरा दिखाई देगा। यदि आपने WinZIP का उपयोग करके विंडोज में ज़िप फ़ाइल बनाई है, तो कोशिश करें WinZIP के साथ विंडोज में इसे खोलें और देखें कि क्या आप कम से कम संग्रह के भीतर निहित फ़ाइलों की सूची देख सकते हैं। यदि आप कर सकते हैं, तो विंडोज पर फ़ाइलों को निकालें और संग्रह को फिर से बनाने के लिए 7 ज़िप या WinRAR जैसे एक वास्तविक संग्रह टूल का उपयोग करें।

एक अन्य विकल्प यह होगा कि कमांड लाइन पर लिनक्स में अनज़िप कमांड का उपयोग किया जाए। वाक्य-विन्यास होगा

unzip music.zip

जो वर्तमान फ़ोल्डर में संग्रह को निकालेगा।


4

यह प्रश्न दूषित ज़िप फ़ाइल की मरम्मत के लिए कवर करता है - दूषित ज़िप फ़ाइलों की मरम्मत के लिए टर्मिनल टूल (लिनक्स)

वहाँ के उत्तरों पर थोड़ा विस्तार करते हुए, आप कुछ ऐसा करना चाहेंगे:

zip -F /home/elansa/Music/Music.zip --out Music_fixed.zip
unzip Music_fixed.zip

अगर वह काम नहीं करता है:

zip -FF /home/elansa/Music/Music.zip --out Music_fixed.zip
unzip Music_fixed.zip

जिप मैनुअल के अनुसार, पहले -F के साथ प्रयास करना बेहतर है:

एकल -F अधिक विश्वसनीय है यदि संग्रह बहुत अधिक क्षतिग्रस्त नहीं है, तो पहले इस विकल्प का प्रयास करें।

चूंकि ऐसा लगता है कि आप कमांड लाइन के लिए शुरुआत कर रहे हैं और मैं अनिश्चित हूं कि अगर ज़िप प्रोग्राम लिनक्स मिंट पर डिफ़ॉल्ट रूप से स्थापित होता है, तो इसे स्थापित करने के लिए एक कमांड है:

sudo apt-get install zip

उम्मीद है की यह मदद करेगा।


zip -FFमेरे मामले में काम किया (ओएस एक्स पर एक विंडोज़ ज़िपित संग्रह खोलना)। धन्यवाद।
पॉलिम

3

मेरे पास विंडोज में बनाई गई एक बहुत बड़ी ज़िप फ़ाइल के साथ यही मुद्दा था। ज़िप टूल को चलाने में उसी त्रुटि का कारण है जो अन्य लोगों ने वर्णित किया है (यह ओएस एक्स रनिंग जिप 3.0 पर है):

bash-3.2$ unzip -l Users.zip 
Archive:  Users.zip
warning [Users.zip]:  126463302015 extra bytes at beginning or within zipfile
  (attempting to process anyway)
error [Users.zip]:  start of central directory not found;
  zipfile corrupt.
  (please check that you have transferred or created the zipfile in the
  appropriate BINARY mode and that you have compiled UnZip properly)

मेरे मामले में समाधान इसके बजाय p7zip पैकेज का उपयोग करना था ( http://p7zip.sourceforge.net/ या अपने पसंदीदा पैकेज प्रबंधक का उपयोग करें)। यह निर्दोष रूप से काम किया:

bash-3.2$ 7z l Users.zip
<tons of successful output>

किसी और ने इस सटीक परिदृश्य का वर्णन यहां किया: http://www.linuxquestions.org/questions/linux-software-2/unzip-error-in-linux-error-zip-file-too-big-9x528/


0

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

$ zip -v
...
This is Zip 3.0 (July 5th 2008), by Info-ZIP.
...
ZIP64_SUPPORT

$ unzip a.zip
... start of central directory not found; zipfile corrupt.

$ zip -FF a.zip --out a_fixed.zip
...
zip error: Entry too big to split, read, or write (Poor compression resulted in unexpectedly large entry - try -fz)

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