लिनक्स के लिए कौन सा फ़ाइल संपीड़न सॉफ्टवेयर उच्चतम आकार में कमी प्रदान करता है? [बन्द है]


51

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

जवाबों:


37

7zipएक कंप्रेसर की तुलना में अधिक कॉम्पैक्ट (PKZIP की तरह) है। यह लिनक्स के लिए उपलब्ध है, लेकिन यह केवल नियमित फ़ाइलों में संपीड़ित अभिलेखागार बना सकता है, यह उदाहरण के लिए एक स्ट्रीम को संपीड़ित करने में सक्षम नहीं है। यह स्वामित्व, ACLs, विस्तारित विशेषताएँ, हार्ड लिंक जैसी अधिकांश यूनिक्स फ़ाइल विशेषताओं को संग्रहीत करने में सक्षम नहीं है ...

लिनक्स पर, एक कंप्रेसर के रूप में , आपको मिला है xzकि उसी संपीड़न एल्गोरिदम का उपयोग करता है 7zip(LZMA2)। आप इसका उपयोग टार अभिलेखागार को संपीड़ित करने के लिए कर सकते हैं।

इसके लिए gzipऔर bzip2, एक समानांतर संस्करण है pixzजो संपीड़न को तेज करने के लिए कई प्रोसेसर का लाभ उठा xzसकता है ( -Tविकल्प के साथ संस्करण 5.2.0 के बाद से यह मूल रूप से भी कर सकता है)। pixzसंस्करण भी समर्थन करता है का अनुक्रमण एक संकुचित tarसंग्रह है जो इसे शुरू से ही फ़ाइल को विस्तारित करने में बिना एक एकल फाइल निकालने में सक्षम है का मतलब है।


6
क्या आप "कॉम्पेक्टर" और "कंप्रेसर" के बीच भेद पर विस्तार कर सकते हैं जो आप यहां बना रहे हैं?
mattdm

2
@mattdm, एक कंप्रेशर केवल कंप्रेस करता है, एक कम्पेक्टर कई चीजों को कॉम्प्रेस्ड आर्काइव में कंप्रेस करता है।
स्टीफन चेजेलस 7

2
@mattdm, अजीब है। यह 90 के दशक में एक बहुत ही सामान्य शब्दावली और अंतर था, एक Google खोज से लगता है, अब ऐसा नहीं है।
स्टीफन चेजलस

6
शायद यह एक डॉस बात थी? यूनिक्स में, संपीड़न और संग्रह के बीच का अंतर आमतौर पर बनाया जाता है (जैसा कि आप भी कहते हैं), लेकिन मैंने कभी "कॉम्पेक्टर" नहीं सुना है।
Mattdm 12

1
@mattdm, ठीक है, कॉम्पैक्ट संग्रह है + संपीड़ित (संभवत: अनुक्रमण के साथ, संभवतः सदस्यों को अलग से संपीड़ित किया जाता है), संग्रह का मतलब संपीड़ित नहीं है। यह एक डॉस बात नहीं है, लेकिन संभवतः यह एक फ्रांसीसी चीज थी। Usenet अभिलेखागार को देखते हुए, मुझे लगता है कि यह केवल मेरे लेखों में आता है, इसलिए यह मेरा आविष्कार हो सकता है, हालांकि मैं दृढ़ता से मानता हूं कि यह नहीं है।
स्टीफन चेज़लस

65

lrzip वह है जिसे आप वास्तव में ढूंढ रहे हैं, खासकर यदि आप स्रोत कोड को संपीड़ित कर रहे हैं!

README का हवाला देते हुए:

यह बड़ी फ़ाइलों के लिए अनुकूलित एक संपीड़न कार्यक्रम है। जितनी बड़ी फ़ाइल और आपके पास जितनी अधिक मेमोरी होगी, उतना ही बेहतर संपीड़न लाभ प्रदान करेगा, विशेष रूप से एक बार जब फाइलें 100MB से बड़ी हो जाती हैं। लाभ को या तो आकार (bzip2 से बहुत छोटा) या गति (bzip2 की तुलना में बहुत तेज़) चुना जा सकता है। [...] lrzip की अनूठी विशेषता यह है कि यह आपके सिस्टम में उपलब्ध अधिकतम राम को अधिकतम लाभ के लिए हर समय बनाने की कोशिश करता है।

lrzip किसी भी लंबी दूरी के डेटा अतिरेक को rzip- आधारित एल्गोरिथ्म के लिए पहले स्कैन करके और फिर गैर-निरर्थक डेटा को संपीड़ित करके काम करता है।

कॉन कोलिवस लिनक्स कर्नेल मेलिंग सूची में एक शानदार उदाहरण प्रदान करता है ; जिसमें वह चालीस लिनक्स कर्नेल के 10.3GB के तारबॉल को 163.9MB (1.6%) तक छोड़ देता है, और xz की तुलना में बहुत तेज़ करता है। वह सबसे आक्रामक दूसरे-पास एल्गोरिथ्म का भी उपयोग नहीं कर रहा था!

मुझे यकीन है कि आपके पास स्रोत कोड के बड़े पैमाने पर तारकोल को संपीड़ित करने के महान परिणाम होंगे :)

sudo apt-get install lrzip

उदाहरण (अन्य विकल्पों के लिए डिफ़ॉल्ट का उपयोग करके):

अल्ट्रा संपीड़न, कुत्ता धीमा:

lrzip -z file

फ़ोल्डर्स के लिए, बस के लिए बदल जाते lrzipहैंlrztar


1
मैं यह भी कह सकता हूं कि 'एड सिस्टम फाइल ट्रीज' के lrzipबैकअप के लिए यह वास्तव में बहुत अच्छा काम करता है tar/cpio/pax, क्योंकि इनमें आमतौर पर बहुत सारी रेंज के अतिरेक होते हैं, कुछ ऐसा जो कंप्रेसिंग lrzipमें बहुत अच्छा होता है।
फ्रेंकी

10
मैंने कोशिश की है lrzipऔर pixz19 जीबी की टेक्स्ट फाइल पर। दोनों ने इसे (एक हेक्सा-कोर मशीन पर) संपीड़ित करने में लगभग आधे घंटे का समय लिया, लेकिन lrzफ़ाइल फ़ाइल का आकार आधा था xz(2.7 बनाम 4.4 जीबी)। तो, इस जवाब के लिए एक और वोट के बजाय।
fnl

3
@ 'प्रतियोगिता' से, क्या आपका मतलब 'अटेस्ट' है?
मिचस 11

लगता है चितकबरा मुरलीवाला!
विटाली

1
क्या आप जानते हैं कि lrzip और rzip में क्या अंतर होगा? rzip ऐसा लगता है कि यह 1998 में जारी किया गया था जिसे लंबी दूरी के अतिरेक के साथ बहुत बड़ी फ़ाइलों पर सबसे अच्छा करने के लिए डिज़ाइन किया गया था, इसलिए यह lrzip के समान लगता है - बस सोच रहा था कि क्या lrzip rzip से ली गई थी? (से rzip rzip.samba.org )
अस्टारा

6

यदि आप संपीड़न की गति की परवाह किए बिना सबसे बड़े आकार में कमी की तलाश कर रहे हैं, LZMAतो संभवतः आपका सबसे अच्छा विकल्प है।

जब विभिन्न संकुलों की तुलना की जाती है, तो आमतौर पर ट्रेडऑफ समय बनाम आकार होता है। gzipएक अच्छा संपीड़न अनुपात उपज देते समय अपेक्षाकृत जल्दी से संपीड़ित और विघटित हो जाता है। संपीड़न और विघटन समय दोनों bzip2की तुलना में कुछ धीमा है gzip, लेकिन इससे भी अधिक संपीड़न अनुपात उत्पन्न होता है। LZMAसबसे लंबे समय तक संपीड़न समय है, लेकिन सबसे अच्छा अनुपात उपज देता है, जबकि एक विघटन दर भी बेहतर प्रदर्शन करती है bzip2

सूत्र: http://bashitout.com/2009/08/30/Linux-Compression-Comparison-GZIP-vs-BZIP2-vs-LZMA-vs-ZIP-vs-Comp.html

http://tukaani.org/lzma/benchmarks.html


1
मुझे इस पर असहमत होने की जरूरत है! दोषरहित फ़ाइल संपीड़न गति कि जीएनयू / लिनक्स पर काम करता है की परवाह किए बिना सबसे बड़ी कमी कारक प्रदान कंप्रेसर शायद या तो है zpaqया paq8l। हालांकि, वे इतने धीमे हैं कि वे अधिकांश वास्तविक दुनिया के उपयोगों के लिए अव्यावहारिक हैं।
फ्रेंकी

@Franki शांत sudo apt-get install zpaq, मैं कुछ परीक्षण, के अनुसार किया विकि , तो वह ऐप्स नवीनतम 2009 को स्थापित किया जाएगा, लेकिन यह अभी भी के लिए खो देता है केजीबी (कि PAQ6 का उपयोग करता है), लेकिन केजीबी बहुत धीमी है ...
कुंभ पावर

@ फ्रेंकी वास्तव में, मैंने अभी पाया है कि zpaq pvc/usr/share/doc/zpaq/examples/max.cfg file.zpaq file.tarkgb -9
कुंभ

4

(अपडेट किया गया उत्तर) यदि समय मायने नहीं रखता है, तो ZPAQ v1.10 (या नए) पूर्व का उपयोग करें।
zpaq pvc/usr/share/doc/zpaq/examples/max.cfg file.zpaq file.tar (अधिकतम। फ़ाइल फ़ाइल स्थान भिन्न हो सकता है, अपनी स्थापित पैकेज फ़ाइल सूची पर जाँच करें)

zpaqवास्तव में से अधिक संकुचित kgb -9 newFileName.kgb yourFileName.tar
यह पुराने एल्गोरिथ्म PAQ6 पर आधारित है , और बहुत धीमा है ...
मैंने 7zip, lrzip, bzip2, kgb .. जैसे सभी अन्य कंप्रेशर्स के साथ परीक्षण किया और सबसे अधिक संपीडित zpaq!

यदि आप kgbअभी भी रुचि रखते हैं: (क्योंकि यह इस उत्तर पर मेरी प्रारंभिक पसंद थी, इसलिए मैं यहां जानकारी रख रहा हूं)
उबंटू 14.04 में kgb 1.0b4 है , sudo apt-get install kgbइसे स्थापित करने के लिए चलाएँ ।

नीचे एक विंडोज़ संस्करण के बारे में है जिसे आप kgbलिनक्स पर चलाने / संकलित करने का प्रयास कर सकते हैं , लेकिन मैं सफल नहीं हुआ।
संस्करण 2 बीटा 2 को सोर्सफॉर्ज पर पाया जा सकता है , लेकिन कोई लिनक्स बायनेरी उपलब्ध नहीं है। आप इसे कंसोल में चलाने की कोशिश कर सकते हैं wine kgb2_console.exe -a7 -m9(विधि -a6 -m91.0b4 में सबसे अच्छी विधि के बराबर लगती है, -a72 बीटा 2 में नया है) हालाँकि, मैंने winetricks और रनिंग के साथ .NET 2.0 को स्थापित करके बेहतर स्थिरता प्राप्त की है wine "KGB Archiver 2 .net.exe"(मुझे ऐसा करना थोड़ा पसंद नहीं है, इसलिए मैं देशी लिनक्स 1.0b4 के साथ चिपकेगा जिसका लगभग 2 बीटा 2 के समान परिणाम है)।
वैसे भी, संस्करण 2 बीटा 2 गंभीरता से एक लिनक्स देशी संस्करण का भी हकदार है! हो सकता है कि कुछ MinGW के साथ पूरा किया जा सकता है, को देखने के लिए इस है, लेकिन इस आदेश को अभी भी बुरी तरह से विफल रहता है:i586-mingw32msvc-g++ kgb2_console.cpp -o kgb। इसे dmcs(मोनो) के साथ संकलित करने की कोशिश की जा सकती है ? इस टिप को देखें ।


2

7zip कोई अनोखी तकनीक नहीं है, लेकिन कई अलग-अलग संपीड़न विधियों का समर्थन करता है (उस पर विकिपीडिया 7z देखें)।

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

यदि आप उपकरण में रुचि रखते हैं, तो आप साइट को ब्राउज़ कर सकते हैं, यह रूसी में है लेकिन Google अनुवाद मदद कर सकता है। बायनेरिज़ की एक बड़ी जमा राशि है , जिसे आप लिनक्स से वाइन के साथ उपयोग कर सकते हैं (या नहीं कर पाएंगे), अगर वास्तव में ज़रूरत है।

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