फ़ाइल का अनपेक्षित अंत। Gzip संपीड़ित फ़ाइल


16

मैं एक gzip फ़ाइल के साथ पागल हो रहा हूँ।

मैं विंडोज में WinRAR का उपयोग करके फाइल को डिकम्प्रेस कर सकता हूं लेकिन यह किसी भी UNIX ऑपरेटिंग सिस्टम पर असंभव है।

फ़ाइल ठीक लगती है। यदि मैं करता हूँ

file the_name_of_the_file.gz

मुझे मिला:

the_name_of_the_file.gz: gzip compressed data, from Unix, last modified: Sun Jan 30 14:10:21 2011

लेकिन अगर मैं करता हूँ

gunzip -f the_name_of_the_file.gz

मुझे रास्ते मिलते हैं:

gzip: the_name_of_the_file.gz: unexpected end of file

यही समस्या तब होती है जब मैं उबंटू या मैकओएसएक्स में जीयूआई उपकरण का उपयोग करके फ़ाइल को निकालने की कोशिश करता हूं,

कोई विचार?


क्या यह वही सटीक फ़ाइल है (यानी आपके पास यह फ्लैश ड्राइव पर है और इसे दो ऑपरेटिंग सिस्टम से खोला है) या आप इसे व्यक्तिगत रूप से डाउनलोड कर रहे हैं? यदि बाद में, आपके पास एक अधूरा डाउनलोड हो सकता है जिसमें सभी डेटा (उर्फ, भ्रष्ट) नहीं हैं।
फ्रोज़नॉव

1
fileआदेश फ़ाइल के सभी जांच नहीं करेगा। यह हेडर में कुछ बाइट्स को देखने के लिए यह पता लगाएगा कि यह एक gzएन्कोडेड फ़ाइल है।

यह दूषित नहीं है क्योंकि मैंने पहले यूनिक्स में और बाद में विंडोज में कोशिश की है।
cues7a

क्या आपने gzip फाइल बनाई है? यदि हां, तो आपने gzip फ़ाइल बनाने के लिए किस ऑपरेटिंग सिस्टम और एप्लिकेशन का उपयोग किया था?
सूर्य

जवाबों:


5

gzip"अनपेक्षित फ़ाइल के अंत" के साथ विफल होने पर किसी फ़ाइल को अनप्ले करने के लिए वर्कअराउंड का उपयोग करना है zcat(यह भी आमतौर पर आपके वितरण के gzip पैकेज द्वारा प्रदान किया गया है)।

$ zcat file.raw.gz > file.raw


2

क्या आपने किसी भी तरह से विन * से फाइल को ट्रांसफर के माध्यम से यूनिक्स मोड में यूनिक्स से स्थानांतरित किया है? वह इसे समझा सकता है। क्या फ़ाइल Win * और Unix पर समान आकार है?


मैंने फ़ाइल को पहले विंडोज में और बाद में यूनिक्स में tu डीकंप्रेस करने की कोशिश की है।
cues7a

1

मुझे संदेह है कि आप फ़ाइल को * nix मशीन पर कॉपी करते समय दूषित कर रहे हैं।

इसे बाइनरी मोड में एफ़टीपी करें।


मुझे लगता है कि फ़ाइल दूषित नहीं है क्योंकि मैंने इसे यूनिक्स में और बाद में विंडोज में बंद करने की कोशिश की।
cues7a

1
आप जो कह रहे हैं उसका कोई मतलब नहीं है। यदि आपको फ़ाइल की एक प्रति बनाने की आवश्यकता नहीं है, तो कहें। यदि आपने किया, तो शायद आपकी नकल प्रक्रिया (FTP?) गलत थी।
रॉबिन ग्रीन

मैंने USB पेनड्राइव के जरिए फाइल ट्रांसफर की। मैंने पहले UNIX में कोशिश की और यह काम नहीं किया और फिर मैंने विंडोज में कोशिश की और यह काम कर गया।
cues7a

1

मैंने POSIX सिस्टम के लिए उपयोगिता 77.exe के एक पोर्ट P7zip का उपयोग करके समस्या का हल किया है ।


तो, आप कह रहे हैं कि संग्रहीत फ़ाइल एक संपीड़न विधि का उपयोग करती है जिसे विरासत यूनिक्स उपकरणों द्वारा मान्यता प्राप्त नहीं है?
सूर्य

0

WinRar के साथ कुछ अनुभवों के आधार पर, मेरा पहला अनुमान है कि यह एक त्रुटि दिए बिना अपूर्ण या दूषित फ़ाइलों को निकाल रहा है, जबकि gzip एक त्रुटि दे रहा है (सही ढंग से)।

आपकी फ़ाइल से 7zip क्या बनता है?

क्या संस्करण gzip -Vकी घोषणा करता है ?

क्या gzip -t the_name_of_the_file.gzबताता है? (शायद वही अप्रत्याशित EOF, लेकिन एक कोशिश के लायक है)


gzip -V: gzip 1.3.12 ,, gzip -t the_name_of_the_file -> अनपेक्षित EOF
cues7a

0

मेरे पास एक ही समस्या थी और मेरे मामले में, यह इस तथ्य के कारण था कि फ़ाइल एक खाली (0 बाइट्स) gzफ़ाइल थी, जो touchकमांड के साथ बनाई गई थी :

$touch file.txt.gz
-rw-r--r-- 1 user user    0 2016-05-24 11:48 file.txt

आदेश के साथ बुलाए जाने पर gzip इसे विघटित नहीं कर सकता है:

$gzip -dv file.txt.gz
gzip: file.txt.gz: unexpected end of file

एक खाली txtफ़ाइल का प्रतिनिधित्व करने का सही तरीका पहले txtफ़ाइल उत्पन्न कर रहा होता है , फिर उसे संपीड़ित करता है और अंत में, इसे विघटित करता है:

$touch file.txt

$gzip -v file.txt
file.txt:         0.0% -- replaced with file.txt.gz

$gzip -dv file.txt.gz
file.txt.gz:      0.0% -- replaced with file.txt

मुझे नहीं पता कि यह परिदृश्य आपके मामले का प्रतिनिधित्व करता है, लेकिन यह आपको कुछ सुराग दे सकता है या किसी और की मदद कर सकता है।

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