लिनक्स के तहत विंडोज के साथ संगत ज़िप फ़ाइल कैसे बनाएं


49

मुझे अपने सभी विंडोज उपयोगकर्ताओं के लिए एक ज़िप फ़ाइल उपलब्ध कराने की आवश्यकता है, इसलिए मैंने भोलेपन से यूनिक्स ज़िप कमांड के साथ एक ज़िप फ़ाइल का निर्माण किया (चलो इसे मेडिनलिनक्स.झिप कहते हैं)।

यह WinRar या Winzip के साथ सफलतापूर्वक खुलता है, लेकिन मेरे उन उपयोगकर्ताओं को जो मानक Windows zip फ़ाइल का उपयोग कर रहे हैं, जब इसे अनज़िप करने का प्रयास करते समय अनुभव विफलता से निपटते हैं। (विंडोज एक्स पी)

मैंने विंडोज बिल्ट-इन जिप मेकनिज्म का उपयोग करते हुए समान डेटा को संपीड़ित किया, और लिनक्स बिंदु से, मुझे फ़ाइल प्रकार में कोई अंतर नहीं दिखाई दे रहा है:

$ file madeinlinux.zip :  Zip archive data, at least v2.0 to extract
$ file madeinwindows.zip : Zip archive data, at least v2.0 to extract

वे एक Windows संगत ज़िप फ़ाइल के लिए कुछ विशिष्ट होना चाहिए।

क्या किसी को पता है क्या?


1
क्या आप इनमें से एक ज़िप फ़ाइल (डमी सामग्री के साथ) का उत्पादन कर सकते हैं और इसे डाउनलोड करने और निरीक्षण करने के लिए एक सर्वर पर रख सकते हैं?
बर्नहार्ड हॉफमैन

यदि यह अभी तक मौजूद है, तो यह सुपरसुअर.कॉम के लिए एक मामले की तरह लगता है।

1
ज़रूर बर्नहार्ड, यहाँ अपराधी है: careerjet.co.uk/devel/Services_Careerjet.zip

केवल विंडोज मशीन जिसे मुझे परीक्षण करना था वह एक विंडोज 7 एक था, और इसमें एक्सप्लोरर का उपयोग करके फ़ाइल को खोलने और निकालने में कोई समस्या नहीं थी।

7 खिड़कियां!

जवाबों:


28

इसके साथ प्रयास करें:

zip -9 -y -r -q file.zip folder/
  • -9 सबसे धीमी संपीड़न गति को इंगित करता है (इष्टतम संपीड़न, प्रत्यय सूची को अनदेखा करता है)
  • -y ज़िप आर्काइव में प्रतीकात्मक लिंक को स्टोर करें, लिंक द्वारा संदर्भित फ़ाइल को संपीड़ित और संग्रहीत करने के बजाय
  • -r निर्देशिका संरचना को पुनरावर्ती रूप से यात्रा करें
  • -q शांत तरीका

यह XP संगतता के साथ क्यों मदद करेगा?
वाहफुन्हा

ईमानदारी से यह इतना समय पहले था कि मुझे स्पष्ट रूप से याद नहीं है; लेकिन मैं कल्पना कर सकता हूं कि प्रतीकात्मक लिंक के बाद समस्याएं हो सकती हैं (जो बिना हो सकती हैं -r) और -rआपको सभी फ़ोल्डर सामग्री लेने की अनुमति देता है
इगोर फोबिया

11

7zip एक ओपन सोर्स कम्प्रेशन टूल है, जो लिनक्स, फ्रीबीएसडी, मैक ओएस एक्स, बीओएस, डॉस, अमीगा और विंडोज पर काम करता है।

मैं अत्यधिक विंडोज़ संस्करण के आधार पर इसकी सिफारिश करूंगा।

यह समर्थन करता है

पैकिंग / अनपैकिंग: 7z, ज़िप, GZIP, BZIP2 और TAR

केवल अनपैकिंग: ARJ, CAB, CHM, CPIO, DEB, DMG, HFS, ISO, LZMA, LZMA, MSI, NSIS, RAR, RPM, UDF, WIM, XAR और Z.


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

8

केवल एक चीज जो प्रासंगिक दिखती है वह है

-k - Attempt  to  convert  the  names  and paths to conform to MSDOS, store only the MSDOS attribute (just the user write attribute from UNIX), and mark the entry as made under
MSDOS (even though it was not); for compatibility with PKUNZIP under MSDOS which cannot handle certain names such as those with two dots.

लेकिन कहीं और जाने से पहले अपने सिस्टम पर "मैन जिप" पढ़ें ...


1
नमस्ते। सुझाव के लिए Thx, लेकिन यह -k विकल्प मुझे समय में थोड़ा बहुत वापस ले जाता है। यह सभी फ़ाइल नाम को 8 कैरेक्टर / नो केस वर्जन में बदल देता है :(

हाँ, मुझे वे दिन याद हैं। लेकिन क्या यह विंडोज पर अंतर्निहित ज़िप प्रोग्राम द्वारा फाइल को पढ़ने में मदद करता है?

पता नहीं। इस फ़ाइल का नाम समस्या मुझे कोशिश कर रहा बंद कर दिया

मेरा अनुमान है कि यह संपीड़न है, जैसा कि MSalters कहते हैं ...

8

zip -Zसंपीड़न विकल्प सेट करता है। -Z storeसबसे तुच्छ है, क्योंकि यह बिल्कुल भी संपीड़ित नहीं करता है। जब आप zipविकल्प के रूप में उपयोग कर रहे हों tar, या जब समस्या निवारण हो तो यह उपयोगी है । इस मामले में आपको यह देखने की कोशिश करनी चाहिए कि क्या विंडोज से असम्पीडित आर्काइव प्रयोग करने योग्य है। यदि यह प्रयोग करने योग्य है, तो आप जानते हैं कि आपको एक गैर-डिफ़ॉल्ट संपीड़न विकल्प चुनना होगा।


भयानक, मुझे लगता है कि यह संपीड़न एल्गोरिथ्म है जो परेशानी भी पैदा कर रहा है ...

4

दूसरों ने जो सुझाव दिया, इसके अलावा, यह आपकी फ़ाइल और निर्देशिका नामों के लिए महत्वपूर्ण ध्यान है क्योंकि विंडोज जरूरी नहीं कि लिनक्स फ़ाइल पथ और नामों की तरह हो। यह कभी-कभी ज़िप करते समय भी उन्हें अलग तरह से बचता है। उदाहरण कई हैं, लेकिन सबसे महत्वपूर्ण डॉट फाइलें (और ..), केवल मामले के अंतर वाली फाइलें (name.txt और NAME.txt), पूर्ण फ़ाइल पथ (/tmp/file.txt) । विंडोज पर फाइल को खोलने के लिए उपयोग किए जाने वाले कुछ अन्य वर्णों को विंडोज पर फ़ाइल नामों की अनुमति दी जा सकती है। मेरे मामले में ':' चरित्र सौदा ब्रेकर था, लेकिन यह पता लगाने के लिए बहुत काम किया।

तो इससे पहले कि आप बहुत सारे मापदंडों का उपयोग करके फिर से शुरू करें, मेरा सुझाव है कि एक सरल प्रक्रिया का पालन करें:

  1. फ़ोल्डर की स्थिति जानें या अपना ज़िप अप करें।

  2. रन: zip -9 -r -k zip-modified-names.zip / path / to / अपने फ़ोल्डर

  3. ध्यान दें कि कंसोल क्या है। मेरे मामले में फ़ाइल नामों में ':' छीन लिया गया था।
  4. ज़िप फ़ाइल को एक विंडोज़ मशीन में ले जाएँ और इसे खोलने का प्रयास करें।

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

भी -k विकल्प आपके फ़ाइल नामों को बिना पढ़े प्रस्तुत कर सकता है। मेरे मामले में मेरी फ़ाइलों का निर्माण समय के आधार पर किया गया था (जैसे 10: 55: 39.pdf) अभिलेखागार से आवश्यक रिकॉर्ड आसानी से पता लगाने के लिए, लेकिन -k विकल्प ने इसे 105539.pdf में बदल दिया जो उपयोगकर्ताओं द्वारा आसानी से पढ़ने योग्य नहीं है। इसलिए मैंने नाम बदलकर 10_55_39.pdf कर दिया, जो कि -k विकल्प का उपयोग किए बिना विंडोज पर खुलता है लेकिन फिर भी पठनीय है।


1
@ TD.512 आपने देखा है कि 6 साल पुराने प्रश्न का अभी भी निश्चित उत्तर नहीं है? एक और उत्तर जोड़ने के लिए सबसे अच्छा है, अगर उत्तर किसी की मदद करने के लिए लगता है जैसा कि दूसरों ने नहीं किया।
हाई-एंजेल

3

हाल ही में एक पर्ल स्क्रिप्ट से निर्मित फ़ाइलों के साथ एक समान मुद्दा था। पाया कि देशी विंडोज़ जिप (केवल विंडोज 7 का परीक्षण किया गया) एक प्रमुख स्लैश के साथ गलत तरीके से पथ को संभालता है और एक खाली ज़िपफिल प्रदर्शित करता है। समाधान फ़ाइलों को जोड़ने से पहले अग्रणी स्लैश को पट्टी करना था। शायद लाइनक्स जिप कमांड स्टोर के कुछ संस्करण प्रमुख स्लैश के साथ फाइल पथ बनाते हैं।


2
App के अनुसार। Pkware साइट ( pkware.com/support/zip-app-note/archives ) पर नोट्स : "वैकल्पिक रिश्तेदार पथ के साथ फ़ाइल का नाम। संग्रहीत पथ में ड्राइव या डिवाइस पत्र या एक प्रमुख स्लैश नहीं होना चाहिए। "
EKW

2

यहाँ एक पायथन स्क्रिप्ट है जिसका उपयोग मैं कुछ फ़ाइलों को ज़िप करने के लिए कर रहा हूँ। यह ubuntu और Vista पर परीक्षण किया गया है। उबंटू पर उत्पन्न एक ज़िप विस्टा जिपर के साथ खुलता है।

मुझे लगता है कि मेरे पास अतीत में एक समान मुद्दा था और इसका कारण यह था कि ज़िप प्रारूप ZIP_DEFLATED नहीं था। मुझे यकीन नहीं है। मैं उसकी जांच करूंगा।

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

आयात zipfile
आयात ग्लोब, ओएस, एसआईएस

क्लास जिपर:

    def zip_it (स्वयं, dirName, फ़ाइलें):
        dirNamePrefix = dirName + "/ *"
        glob.glob (dirNamePrefix) में फ़ाइल नाम के लिए:
            अगर os.path.isfile (फ़ाइल नाम) और (नहीं self.exclude_svn या (filename.find ("। svn \\") == - 1)):
                प्रिंट नाम
                नाम = फ़ाइल नाम [len (self.folder) +1:]
                self.archive.write (फ़ाइल नाम, नाम, zipfile.ZIP_DEFLATED)

    डीईएफ रन (सेल्फ, फोल्डर, नाम, अपवर्जित)
        self.exclude_svn = बहिष्कृत_सावन
        self.folder = फ़ोल्डर
        self.archive = zipfile.ZipFile (नाम + "। ज़िप", "w")
        os.path.walk (स्व। फ़ोल्डर, ज़िपआर्चिव। ज़िप_इट, सेल्फ)
        self.archive.close ()

अगर __name__ == "__main__":
    अगर (len (sys.argv) == 1):
        प्रिंट "उपयोग ज़िपित फ़ोल्डर [नाम] [svn: हाँ | नहीं]"
    अन्य:
        नाम = sys.argv [1]
        बहिः_शवन = मिथ्या

        अगर (len (sys.argv)> 2): नाम = sys.argv [2]
        if (len (sys.argv)> 3):

        आर्च = जिप आर्चिव ()
        arch.run (sys.argv [1], नाम, बहिष्कृत_सावन)
        प्रिंट "किया"


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

हाँ। मैं इसे Vista ज़िप उपकरण के साथ खोला है। मुझे आशा है कि यह आपके लिए भी काम करेगा

0

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


सहमत नहीं हैं। मैं ओपी के समान समस्याओं में चला गया हूं, विशेष रूप से विंडोज के पुराने संस्करणों के साथ। मैंने अखंडता जांच और शमस के मैच को पूरा कर लिया है। प्लस, ध्यान दें कि ओपी कहता है कि 3 पार्टी कार्यक्रमों में फाइलें ठीक से विघटित होती हैं।
वाहफुन्हा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.