क्या मुझे xz या lzma कम्प्रेशन का उपयोग करना चाहिए?


29

मैं सोच रहा था कि Ubuntu 10.10 में मेरे पास xz और lzma दोनों अभिलेखागार बनाने की क्षमता है। क्या मुझे xz पर स्विच करना चाहिए?

http://en.wikipedia.org/wiki/Xz

http://en.wikipedia.org/wiki/Lzma


ध्यान दें कि एक नया lz आर्काइव टाइप भी है जिसे मूल रूप से "इस चर्चा के बाद से" stackoverflow.com/a/49456056/32453 के रूप में पेश किया गया है, इसलिए इसे lzmaयहाँ उल्लिखित के साथ भ्रमित न करें :)
rogerdpack

जवाबों:


12

यह बेंचमार्क इस मुद्दे के बारे में कुछ अच्छी जानकारी प्रदान करता है। ऐसा लगता है कि LZMA में XZ की तुलना में थोड़ा बेहतर संपीड़न अनुपात और प्रदर्शन है, लेकिन XZ को आमतौर पर 'व्यावहारिक कारणों' के कारण पसंद किया जाता है (मुझे यकीन नहीं है कि ये क्या हैं)।

XZ lzma2 एल्गोरिथ्म का एक कार्यान्वयन है और 'असंपीड़ित' डेटा को संपीड़ित करने में बेहतर है:

lzma2 7-ज़िप LZMA2 कंप्रेसर द्वारा नियोजित संपीड़न की विधि है। LZMA2, LZMA का एक संशोधित संस्करण है जो असंगत डेटा के लिए एक बेहतर संपीड़न अनुपात प्रदान करता है (यादृच्छिक डेटा 0.005% के बारे में फैलता है, मूल LZMA के साथ 1.35% की तुलना में), और वैकल्पिक रूप से समानांतर में बड़ी फ़ाइलों के कई हिस्सों को संपीड़ित कर सकता है, लेकिन बहुत अधिक संपीड़न गति बढ़ सकती है लेकिन संपीड़न अनुपात में संभावित कमी (LZMANumBlockThreads देखें)। LZMA की तरह, यह बहुत सारी मेमोरी का उपभोग कर सकता है; उपरोक्त तालिका देखें। यदि एक संपीड़न स्तर निर्दिष्ट नहीं किया जाता है, तो यह अधिकतम पर निर्भर करता है।

( http://www.jrsoftware.org/ishelp/index.php?topic=setup_compression )

आप का उपयोग करके ठीक होना चाहिए।


जिज्ञासा से बाहर, क्या आपने तय किया कि किसका उपयोग करना है?
DV3500ea

1
वास्तव में परीक्षण के बाद ऐसा लगता है जैसे xz आगे का रास्ता होगा। यह भी lzma पर द्विआधारी सामान पर काफी संपीड़न (10mb somtimes) बचाता है।
नाइटविशफैन

8
"ओके यूज़िंग" के संबंध में यह उचित उत्तर नहीं था। उस समय भी जब उन्होंने यह प्रश्न पोस्ट किया था, .lzma फाइलों को निकट भविष्य में .xz द्वारा पूरी तरह से बदलने के लिए जाना जाता था। LZMA-Utils के लेखक ने सार्वजनिक रूप से कहा है, उन्हें पदावनत कर दिया गया और 5.00 से आगे तक xz-utils का उपयोग किया गया। आखिरी LZMA-Utils रिलीज 2008-07-30 थी, यहां तक ​​कि वर्षों की उम्र में भी। इसलिए सम्भावित समझदारी, सुधार एक बहुत बड़ा कारक नहीं हो सकता है। (विडंबना यह है कि यह था) लेकिन XZ-Utils का उपयोग करने और नए .lzma अभिलेखागार बनाने से बचने के लिए "राजनीतिक" कारण एक महत्वपूर्ण कारण होना चाहिए था।
जेएम बेकर

1
@TechZilla क्या आपने एक वैकल्पिक उत्तर के रूप में इस पर अपना पोस्ट पोस्ट करने पर विचार किया है?
ændrük

1
LZMA2 के व्यावहारिक कारण बहुपरत समर्थन हैं। एकल थ्रेडिंग प्रदर्शन और संपीड़न अनुपात थोड़ा कम है, लेकिन एक प्रणाली पर कई कोर का उपयोग किया जाता है, जो उम्मीद करते हैं कि LZMA2 डिकोडिंग के समय बहुत तेज होगा।
जोनाथन बाल्डविन

42

मैं @ dv3500ea के निष्कर्ष से असहमत था, "ठीक है या तो उपयोग करना", क्योंकि यह अनुचित था। यहां तक ​​कि पोस्ट की गई तिथि / समय पर, .lzmaफ़ाइलों को पूरी तरह से बदलने के लिए जाना जाता था .xz। दोनों यूटिल्स के लेखक ने सार्वजनिक रूप से कहा है , उपयोगकर्ताओं को XZ-Utils X 5.00 में संक्रमण करना चाहिए। अंतिम LZMA-Utils रिलीज़ 2008-07-30 था, और इसे बंद कर दिया गया था।

LZMA बर्तन उच्च संपीड़न अनुपात के साथ विरासत डेटा संपीड़न सॉफ्टवेयर हैं। LZMA Utils अब विकसित नहीं हैं, हालाँकि महत्वपूर्ण बग्स को तब तक ठीक किया जा सकता है जब तक उन्हें ठीक करने के लिए कोड में भारी बदलाव की आवश्यकता न हो।

LZMA Utils के उपयोगकर्ताओं को XZ Utils में जाना चाहिए। XZ Utils .lzmaLZMA Utils द्वारा उपयोग की जाने वाली विरासत प्रारूप का समर्थन करते हैं , और LZMA Utils के कमांड लाइन टूल्स का अनुकरण भी कर सकते हैं। इससे LZMA Utils से XZ Utils में अपेक्षाकृत आसानी से संक्रमण हो सकता है।

निर्धारण कारक संपीड़न नहीं हो सकता है, हालांकि विडंबना यह है कि इस उदाहरण के लिए था। "व्यावहारिक कारण" XZ-Utils का उपयोग करने के लिए एक स्पष्ट, और महत्वपूर्ण कारण हैं। इसके अतिरिक्त .xzप्रारूप आपको संपीड़न एल्गोरिदम, और फ़िल्टर निर्दिष्ट करने की अनुमति देता है, इसलिए .xzफाइलें LZMA या LZMA2 का उपयोग कर सकती हैं। नई .lzmaफाइलें बनाने से बचें , उन्हें एक विरासत प्रारूप माना जाता है।

LZMA-Utils को यहां तक ​​रखने के लिए भी: नहीं। XZ-Utils के पास विरासत .lzmaफ़ाइलों के लिए समर्थन है । इसमें LZMA-Utils का उपयोग करने वाली स्क्रिप्ट के लिए रैपर भी हैं। यदि वे सभी कारण अभी भी अपर्याप्त थे, तो उबंटू ने अपनी रिपोजिटरी से विरासत में लिज़मा-बर्तन खोले।


1
"दोनों यूटिल्स के लेखक ने सार्वजनिक रूप से कहा है, उपयोगकर्ताओं को XZ-Utils X 5.00 में संक्रमण करना चाहिए।" प्रशस्ति पत्र की जरूरत। :-)
फहीम मीठा

@FaheemMitha: चूंकि यह एक पद है, न कि शैक्षिक संदर्भ या मूल शोध, इसलिए उद्धरण केवल परियोजना पृष्ठ होगा। मुझे लगा कि चूंकि यह LZMA-Utils के लेखक का था, और उन्होंने BZH उपयोगिता सेट को LZMA-Utils की जगह xz-utils के इरादे से लिखा था, यह स्वयं स्पष्ट था। ... लेकिन किसी को जो चाहते हैं के अधिक जानकारी के, प्राप्त करने के लिए के लिए tukaani.org/lzma
जेएम बेकर

3

निश्चित रूप से आपको lzma का उपयोग नहीं करना चाहिए जैसा कि अन्य लोग कहते हैं।

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


xz को कुछ लोगों द्वारा असुरक्षित माना जाता है। हालांकि यह लज़मा पर लागू नहीं होता है।
oᴉɹǝɥɔ

0

xz को सबसे अधिक संपीड़न दर होने के कारण पसंद किया जाता है। हालांकि, यह धीमी गति से संपीड़ित करता है, लेकिन यह अपने संपीड़न के साथ इसके लिए बनाता है।

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