एक्सज़ेड यूटिल्स: Difference between revisions

From Vigyanwiki
No edit summary
 
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{short description|Lossless data compression software}}
{{short description|Lossless data compression software}}{{Infobox file format
{{Infobox software
| author                = Lasse Collin
| developer              = The Tukaani Project
| latest release version = {{wikidata|property|reference|edit|P348}}
| latest release date = {{Start date and age|{{wikidata|qualifier|P348|P577}}}}
| operating system      = [[Cross-platform]]
| programming language  = [[C (programming language)|C]]
| genre                  = [[Data compression]]
| license                = [[public-domain software|Public domain]].<ref name="licensing"/> (but see details in [[XZ Utils#Development and adoption|Development and adoption]])
| website                = {{URL|https://tukaani.org/xz/}}
}}
 
{{Infobox file format
| name                  = .xz
| name                  = .xz
| icon                  =  
| icon                  =  
Line 25: Line 12:
| conforms_to            =  
| conforms_to            =  
| magic                  = <code>FD 37 7A 58 5A 00</code>
| magic                  = <code>FD 37 7A 58 5A 00</code>
| developer              = Lasse Collin<br />[[Igor Pavlov (programmer)|Igor Pavlov]]
| developer              = लेसे कॉलिन<br />[[इगोर पावलोव (प्रोग्रामर)|इगोर पावलोव]]
| released              = {{start date and age|2009|01|14}}
| released              = {{start date and age|2009|01|14}}
| latest_release_version = 1.1.0
| latest_release_version = 1.1.0
| latest_release_date    = {{start date and age|2022|12|11}}
| latest_release_date    = {{start date and age|2022|12|11}}
| type                  = [[Data compression]]
| type                  = [[डेटा कम्प्रेशन]]
| extended_from          =  
| extended_from          =  
| standard              = <!-- or: | standards = -->
| standard              = <!-- or: | standards = -->
| free                  = Yes
| free                  = यस
| open                  = Yes
| open                  = Yes
| url                    = {{URL|https://tukaani.org/xz/xz-file-format.txt}}
| url                    = {{URL|https://tukaani.org/xz/xz-file-format.txt}}
}}
}}


XZ यूटिल्स (पहले LZMA यूटिल्स) [[मुफ्त सॉफ्टवेयर]] [[कमांड लाइन इंटरफेस]] | कमांड-लाइन [[दोषरहित संपीड़न]] का सेट है, जिसमें यूनिक्स जैसे ऑपरेटिंग सिस्टम और संस्करण 5.0 से आगे, [[Microsoft Windows]] के लिए प्रोग्राम lzma और xz शामिल हैं। संपीड़न/डीकंप्रेसन के लिए लेम्पेल-ज़िव-मार्कोव श्रृंखला एल्गोरिदम (एलजेडएमए) का उपयोग किया जाता है। XZ यूटिल्स की शुरुआत [[इगोर पावलोव (प्रोग्रामर)]] के [[सॉफ़्टवेयर विकास किट]] के यूनिक्स पोर्ट के रूप में हुई, जिसे यूनिक्स वातावरण और उनकी सामान्य संरचना और व्यवहार में सहजता से फिट होने के लिए अनुकूलित किया गया है।
'''एक्सज़ेड यूटिल्स''' (पहले '''एलजेडएमए यूटिल्स''') [[मुफ्त सॉफ्टवेयर|फ्री सॉफ्टवेयर]] [[कमांड लाइन इंटरफेस]] या कमांड-लाइन [[दोषरहित संपीड़न|लोसलेस डेटा कम्प्रेसर]] का सेट है, जिसमें यूनिक्स जैसे ऑपरेटिंग सिस्टम और वर्जन 5.0 से [[Microsoft Windows|माइक्रोसॉफ़्ट विंडोज़]] के लिए प्रोग्राम एलजेडएमए और एक्सज़ेड सम्मिलित हैं। इस प्रकार कम्प्रेसन/डीकंप्रेसन के लिए लेम्पेल-ज़िव-मार्कोव श्रृंखला एल्गोरिदम (एलजेडएमए) का उपयोग किया जाता है। इस प्रकार एक्सज़ेड यूटिल्स की प्रारंभ [[इगोर पावलोव (प्रोग्रामर)]] के [[सॉफ़्टवेयर विकास किट|सॉफ्टवेयर डेवलपमेंट किट]] के यूनिक्स पोर्ट के रूप में हुई, जिसे यूनिक्स एनवायरनमेंट और उनकी सामान्य संरचना और व्यवहार में सही से फिट होने के लिए अनुकूलित किया गया है।


== विशेषताएँ ==
== विशेषताएँ ==


ज्यादातर मामलों में, xz [[gzip]] और [[bzip2]] जैसे विकल्पों की तुलना में उच्च संपीड़न दर प्राप्त करता है। डीकंप्रेसन गति bzip2 से अधिक है, लेकिन gzip से कम है। संपीड़न gzip की तुलना में बहुत धीमा हो सकता है, और उच्च स्तर के संपीड़न के लिए bzip2 की तुलना में धीमा है, और यह सबसे उपयोगी है जब संपीड़ित फ़ाइल का कई बार उपयोग किया जाएगा।<ref>{{Cite web|url=https://www.networkworld.com/article/3240938/how-to-squeeze-the-most-out-of-linux-file-compression.html|title=Linux फ़ाइल संपीड़न का अधिकतम लाभ कैसे उठाएं|last=Henry-Stocker|first=Sandra|date=2017-12-12|website=Network World|language=en|access-date=2020-02-09}}</ref><ref>{{Cite web|url=https://www.rootusers.com/gzip-vs-bzip2-vs-xz-performance-comparison/|title=Gzip vs Bzip2 vs XZ Performance Comparison|date=2015-09-16|website=RootUsers|language=en-US|access-date=2020-02-09}}</ref>
अधिकतर स्थितियों में, एक्सज़ेड [[gzip|जीजेडआईपी]] और [[bzip2|जीजेडआईपी]] जैसे विकल्पों की तुलना में उच्च कम्प्रेसन दर प्राप्त करता है। डीकंप्रेसन गति जीजेडआईपी से अधिक है, किन्तु जीजेडआईपी से कम है। इस प्रकार कम्प्रेसन जीजेडआईपी की तुलना में बहुत धीमा हो सकता है, और उच्च स्तर के कम्प्रेसन के लिए जीजेडआईपी की तुलना में धीमा है, और यह सबसे उपयोगी है जब कोम्प्रेसिंग फ़ाइल का अधिकांशतः उपयोग किया जाता है।<ref>{{Cite web|url=https://www.networkworld.com/article/3240938/how-to-squeeze-the-most-out-of-linux-file-compression.html|title=Linux फ़ाइल संपीड़न का अधिकतम लाभ कैसे उठाएं|last=Henry-Stocker|first=Sandra|date=2017-12-12|website=Network World|language=en|access-date=2020-02-09}}</ref><ref>{{Cite web|url=https://www.rootusers.com/gzip-vs-bzip2-vs-xz-performance-comparison/|title=Gzip vs Bzip2 vs XZ Performance Comparison|date=2015-09-16|website=RootUsers|language=en-US|access-date=2020-02-09}}</ref>
XZ यूटिल्स में दो प्रमुख घटक होते हैं:
 
एक्सज़ेड यूटिल्स में दो प्रमुख कॉम्पोनेन्ट होते हैं:


* {{code|xz}}, कमांड-लाइन कंप्रेसर और डीकंप्रेसर (gzip के अनुरूप)
* {{code|xz}}, कमांड-लाइन कंप्रेसर और डीकंप्रेसर (जीजेडआईपी के अनुरूप)
* liblzma, [[zlib]] के समान [[अप्लिकेशन प्रोग्रामिंग अंतरफलक]] वाली [[ पुस्तकालय (कंप्यूटिंग) |पुस्तकालय (कंप्यूटिंग)]] ।
* एलआईबीईएलजेडएमए, [[zlib|ज़ेडएलआईबी]] के समान [[अप्लिकेशन प्रोग्रामिंग अंतरफलक|अप्लिकेशन प्रोग्रामिंग इंटरफेस]] [[ पुस्तकालय (कंप्यूटिंग) |सॉफ्टवेयर लाइब्रेरी (कंप्यूटिंग)]] ।
विभिन्न कमांड शॉर्टकट मौजूद हैं, जैसे {{code|lzma}} (के लिए {{nowrap|{{code|xz --format{{=}}lzma}}}}), {{code|unxz}} (के लिए {{nowrap|{{code|xz --decompress}}}}; इसके अनुरूप {{code|gunzip}}) और {{code|xzcat}} (के लिए {{nowrap|{{code|unxz --stdout}}}}; इसके अनुरूप {{code|zcat}})
विभिन्न कमांड शॉर्टकट उपस्थित हैं, जैसे {{code|lzma}} (के लिए {{nowrap|{{code|xz --format{{=}}lzma}}}}), {{code|unxz}} (के लिए {{nowrap|{{code|xz --decompress}}}}; इसके अनुरूप {{code|gunzip}}) और {{code|xzcat}} (के लिए {{nowrap|{{code|unxz --stdout}}}}; इसके अनुरूप {{code|zcat}})


XZ यूटिल्स xz और lzma दोनों फ़ाइल स्वरूपों को संपीड़ित और विघटित कर सकता है, लेकिन चूंकि LZMA प्रारूप अब [[ विरासती तंत्र |विरासती तंत्र]] है,<ref name="LZMA_Utils_Are_Legacy"/>XZ यूटिल्स डिफ़ॉल्ट रूप से xz पर संपीड़ित होता है।
एक्सज़ेड यूटिल्स एक्सज़ेड और एलजेडएमए दोनों फ़ाइल स्वरूपों को कोम्प्रेसिंग और विघटित कर सकता है, किन्तु चूंकि एलजेडएमए फोर्मेट अब [[ विरासती तंत्र |लिगेसी]] है,<ref name="LZMA_Utils_Are_Legacy" /> इस प्रकार एक्सज़ेड यूटिल्स डिफ़ॉल्ट रूप से एक्सज़ेड पर कोम्प्रेसिंग होता है।


== उपयोग ==
== उपयोग ==
सॉफ़्टवेयर के व्यवहार के साथ-साथ फ़ाइल प्रारूप के गुण दोनों को लोकप्रिय यूनिक्स कंप्रेसिंग टूल gzip और bzip2 के समान काम करने के लिए डिज़ाइन किया गया है।
इस प्रकार सॉफ़्टवेयर के व्यवहार के साथ-साथ फ़ाइल फोर्मेट के गुण दोनों को लोकप्रिय यूनिक्स कंप्रेसिंग टूल जीजेडआईपी और जीजेडआईपी के समान कार्य करने के लिए डिज़ाइन किया गया है।
 
Gzip और bzip की तरह, xz और lzma इनपुट के रूप में केवल एकल फ़ाइलों (या डेटा स्ट्रीम) को संपीड़ित कर सकते हैं। वे एकाधिक फ़ाइलों को [[फ़ाइल संग्रहकर्ता]] में बंडल नहीं कर सकते - ऐसा करने के लिए पहले संग्रह प्रोग्राम का उपयोग किया जाता है, जैसे [[टार (कंप्यूटिंग)]]।
 
किसी संग्रह को संपीड़ित करना:
xz my_archive.tar # परिणाम my_archive.tar.xz में
lzma my_archive.tar # परिणाम my_archive.tar.lzma में
 
संग्रह को डीकंप्रेस करना:
unxz my_archive.tar.xz # परिणाम my_archive.tar में
unlzma my_archive.tar.lzma # परिणाम my_archive.tar में
 
टार के [[जीएनयू]] कार्यान्वयन के संस्करण 1.22 या उससे अधिक में कमांड-लाइन तर्क#कमांड-लाइन स्विच का उपयोग करके एलज़मा और एक्सज़ेड के साथ संपीड़ित टारबॉल के लिए पारदर्शी समर्थन है। {{code|--xz}} या {{code|-J}}xz संपीड़न के लिए, और {{code|--lzma}} LZMA संपीड़न के लिए।
 
एक संग्रह बनाना और उसे संपीड़ित करना:
tar -c --xz -f my_archive.tar.xz /some_directory # परिणाम my_archive.tar.xz में
tar -c --lzma -f my_archive.tar.lzma /some_directory # परिणाम my_archive.tar.lzma में


संग्रह को डीकंप्रेस करना और उसकी सामग्री निकालना:
इस प्रकार जीजेडआईपी और बीजेडआईपी की तरह, एक्सज़ेड और एलजेडएमए इनपुट के रूप में केवल एकल फ़ाइलों (या डेटा स्ट्रीम) को कोम्प्रेसिंग कर सकते हैं। वह एकाधिक फ़ाइलों को [[फ़ाइल संग्रहकर्ता|फ़ाइल अर्चिव]] में बंडल नहीं कर सकते - ऐसा करने के लिए पहले आर्चिव प्रोग्राम का उपयोग किया जाता है, जैसे [[टार (कंप्यूटिंग)]]।
tar -x --xz -f my_archive.tar.xz # परिणाम /some_directory में
tar -x --lzma -f my_archive.tar.lzma # परिणाम /some_directory में


संपीड़ित के साथ संग्रह के लिए एकल-अक्षर टार उदाहरण और टार (कंप्यूटिंग) का उपयोग करके अर्क के साथ डीकंप्रेस #संपीड़ित फ़ाइलों के लिए प्रत्यय:
किसी आर्चिव को कोम्प्रेसिंग करता है:<syntaxhighlight lang="abl">
tar cJf Keep.txz # संग्रह रखें फिर निर्देशिका ./keep/ को फ़ाइल में संपीड़ित करें ./keep.txz
xz  my_archive.tar    # results in my_archive.tar.xz
  tar xJf Keep.txz # डीकंप्रेस करें फिर फ़ाइल निकालें ./keep.txz निर्देशिका बनाएं ./keep/
lzma my_archive.tar    # results in my_archive.tar.lzma
</syntaxhighlight>आर्चिव को डीकंप्रेस करता है:<syntaxhighlight>
unxz    my_archive.tar.xz      # results in my_archive.tar
unlzma my_archive.tar.lzma    # results in my_archive.tar
</syntaxhighlight>इस प्रकार टार के जीएनयू कार्यान्वयन के संस्करण 1.22 या उससे अधिक में एलजेडएमए और एक्सजेड के साथ कोम्प्रेसिंग टारबॉल के लिए पारदर्शी समर्थन है, जो एक्सजेड कम्प्रेसन के लिए स्विच{{code|--xz}} या {{code|-J}} और एलजेडएमए कम्प्रेसन के लिए {{code|--lzma}} का उपयोग करता है।


xz ने मल्टी-थ्रेडेड कम्प्रेशन (के साथ) का समर्थन किया है {{code|-T}} झंडा)<ref name="man.cx">{{Cite web|url=https://man.cx/xz|title = Linux Manpages Online - man.cx manual pages}}</ref> 2014 से, संस्करण 5.2.0.;<ref>[https://git.tukaani.org/?p=xz.git;a=blob;f=NEWS;hb=HEAD XZ Utils Release Notes]</ref> चूंकि संस्करण 5.4.0 थ्रेडेड डीकंप्रेसन लागू किया गया है। थ्रेडेड डीकंप्रेसन के लिए स्ट्रीम के भीतर कई संपीड़ित ब्लॉकों की आवश्यकता होती है जो थ्रेडेड संपीड़न इंटरफ़ेस द्वारा बनाए जाते हैं।<ref name="man.cx"/>यदि फ़ाइल दी गई सेटिंग्स के साथ थ्रेडिंग के लिए पर्याप्त बड़ी नहीं है या यदि अधिक थ्रेड्स का उपयोग मेमोरी उपयोग सीमा से अधिक होगा, तो थ्रेड्स की संख्या परिभाषित से कम हो सकती है।<ref name="man.cx"/>
एक आर्चिव बनाना और उसे कोम्प्रेसिंग करता है:<syntaxhighlight lang="abl">
tar -c --xz  -f my_archive.tar.xz  /some_directory    # results in my_archive.tar.xz
tar -c --lzma -f my_archive.tar.lzma /some_directory    # results in my_archive.tar.lzma
</syntaxhighlight>इस प्रकार आर्चिव को डीकंप्रेस करना और उसकी कंटेंट निकालता है:<syntaxhighlight>
tar -x --xz  -f my_archive.tar.xz     # results in /some_directory
tar -x --lzma -f my_archive.tar.lzma    # results in /some_directory
</syntaxhighlight>इस प्रकार कोम्प्रेसिंग के साथ आर्चिव के लिए एकल-अक्षर टार उदाहरण और टार (कंप्यूटिंग) का उपयोग करके एक्सट्रैक्ट के साथ डीकंप्रेस या कोम्प्रेसिंग फ़ाइलों के लिए सफिक्स किया जाता है:<syntaxhighlight>
tar cJf keep.txz keep  # archive then compress the directory ./keep/ into the file ./keep.txz
tar xJf keep.txz        # decompress then extract the file ./keep.txz creating the directory ./keep/
</syntaxhighlight>इस प्रकार एक्सज़ेड ने 2014 से, वर्जन 5.2.0 मल्टी-थ्रेडेड कम्प्रेशन ({{code|-T}} फ्लैग के साथ) का समर्थन किया है <ref name="man.cx">{{Cite web|url=https://man.cx/xz|title = Linux Manpages Online - man.cx manual pages}}</ref><ref>[https://git.tukaani.org/?p=xz.git;a=blob;f=NEWS;hb=HEAD XZ Utils Release Notes]</ref> चूंकि वर्जन 5.4.0 थ्रेडेड डीकंप्रेसन प्रयुक्त किया गया है। थ्रेडेड डीकंप्रेसन के लिए स्ट्रीम के अन्दर विभिन्न कोम्प्रेसिंग ब्लॉकों की आवश्यकता होती है जो थ्रेडेड कम्प्रेसन इंटरफ़ेस द्वारा बनाए जाते हैं।<ref name="man.cx" /> इस प्रकार यदि फ़ाइल दी गई सेटिंग्स के साथ थ्रेडिंग के लिए पर्याप्त बड़ी नहीं है या यदि अधिक थ्रेड्स का उपयोग मेमोरी उपयोग सीमा से अधिक होगा, तो थ्रेड्स की संख्या परिभाषित से कम हो सकती है।<ref name="man.cx" />


== एक्सज़ेड फोर्मेट ==
इस प्रकार प्रीप्रोसेसिंग फ़िल्टर की अनुमति देकर एक्सज़ेड फोर्मेट एलजेडएमए में सुधार करता है। इस प्रकार उपयोग किए गए स्पष्ट फ़िल्टर 7z या प्री-प्रोसेसिंग फ़िल्टर में उपयोग किए गए फ़िल्टर के समान हैं, क्योंकि 7z के फ़िल्टर एलजेडएमए एसडीके के माध्यम से सार्वजनिक डोमेन में उपलब्ध हैं।


== xz प्रारूप ==
== विकास और स्वीकृति ==
प्रीप्रोसेसिंग फ़िल्टर की अनुमति देकर xz प्रारूप lzma में सुधार करता है। उपयोग किए गए सटीक फ़िल्टर 7z#प्री-प्रोसेसिंग फ़िल्टर में उपयोग किए गए फ़िल्टर के समान हैं, क्योंकि 7z के फ़िल्टर LZMA SDK के माध्यम से सार्वजनिक डोमेन में उपलब्ध हैं।
इस प्रकार एक्सज़ेड यूटिल्स का विकास तुकानी प्रोजेक्ट के अन्दर हुआ था, जिसका नेतृत्व माइक केज़नर ने किया था, डेवलपर्स के छोटे समूह ने जो कभी [[स्लैकवेयर]] पर आधारित [[लिनक्स वितरण]] बनाए रखा था।


== विकास और अपनाना ==
इस प्रकार एक्सज़ेड और एलआईबीईएलजेडएमए के सभी स्रोत कोड सार्वजनिक डोमेन में जारी कर दिए गए हैं। एक्सज़ेड यूटिल्स स्रोत वितरण में अतिरिक्त रूप से कुछ वैकल्पिक स्क्रिप्ट और उदाहरण प्रोग्राम सम्मिलित हैं जो [[जीएनयू जनरल पब्लिक लाइसेंस]] के विभिन्न वर्जन के अधिकृत हैं।<ref name="licensing"/>
XZ यूटिल्स का विकास तुकानी प्रोजेक्ट के भीतर हुआ, जिसका नेतृत्व माइक केज़नर ने किया था, डेवलपर्स के छोटे समूह ने जो कभी [[स्लैकवेयर]] पर आधारित [[लिनक्स वितरण]] बनाए रखा था।


xz और liblzma के सभी स्रोत कोड सार्वजनिक डोमेन में जारी कर दिए गए हैं। XZ यूटिल्स स्रोत वितरण में अतिरिक्त रूप से कुछ वैकल्पिक स्क्रिप्ट और उदाहरण प्रोग्राम शामिल हैं जो [[जीएनयू जनरल पब्लिक लाइसेंस]] के विभिन्न संस्करणों के अधीन हैं।<ref name="licensing"/>
विशेष रूप से, एक्सज़ेड यूटिल्स सॉफ़्टवेयर के साथ वितरित जीएनयू जनरल पब्लिक लाइसेंस स्क्रिप्ट और स्रोतों की पूरी सूची में सम्मिलित हैं:


विशेष रूप से, XZ यूटिल्स सॉफ़्टवेयर के साथ वितरित GNU जनरल पब्लिक लाइसेंस स्क्रिप्ट और स्रोतों की पूरी सूची में शामिल हैं:
* सामान्य एलआईबीसी फ़ंक्शन का वैकल्पिक कार्यान्वयन, [[getopt|गेटऑप्ट]] (जीएनयू लेसर जनरल पब्लिक लाइसेंस या जीएनयू एलजीपीएल v2.1)
* पाथ्रेड डिटेक्शन के लिए एम4 (कंप्यूटर लैंग्वेज) स्क्रिप्ट (जीएनयू जनरल पब्लिक लाइसेंस या वर्जन 3)
* कुछ अनावश्यक रैपर स्क्रिप्ट (एक्सज़ेडग्रेप, आदि) (जीएनयू जनरल पब्लिक लाइसेंस या वर्जन 2)
*और उदाहरण प्रोग्राम स्कैनलज़मा जो बिल्ड सिस्टम के साथ एकीकृत नहीं है


* सामान्य libc फ़ंक्शन का वैकल्पिक कार्यान्वयन, [[getopt]] (GNU लेसर जनरल पब्लिक लाइसेंस|GNU LGPL v2.1)
इस प्रकार परिणामी सॉफ़्टवेयर एक्सज़ेड और एलआईबीईएलजेडएमए बायनेरिज़ सार्वजनिक डोमेन हैं, जब तक कि वैकल्पिक एलजीपीएल गेटऑप्ट कार्यान्वयन सम्मिलित नहीं किया जाता है।<ref>{{cite web | url=https://www.gnu.org/licenses/gpl-faq.en.html#WhatCaseIsOutputGPL |title=In what cases is the output of a GPL program covered by the GPL too? |website=GNU.org |access-date=21 August 2019}}</ref>
* पाथ्रेड डिटेक्शन के लिए एम4 (कंप्यूटर भाषा) स्क्रिप्ट (जीएनयू जनरल पब्लिक लाइसेंस#संस्करण 3)
* कुछ अनावश्यक रैपर स्क्रिप्ट (xzgrep, आदि) (जीएनयू जनरल पब्लिक लाइसेंस#संस्करण 2)
* और उदाहरण प्रोग्राम स्कैनलज़मा, जो बिल्ड सिस्टम के साथ एकीकृत नहीं है


परिणामी सॉफ़्टवेयर xz और liblzma बायनेरिज़ सार्वजनिक डोमेन हैं, जब तक कि वैकल्पिक LGPL getopt कार्यान्वयन शामिल नहीं किया जाता है।<ref>{{cite web | url=https://www.gnu.org/licenses/gpl-faq.en.html#WhatCaseIsOutputGPL |title=In what cases is the output of a GPL program covered by the GPL too? |website=GNU.org |access-date=21 August 2019}}</ref>
इस प्रकार बायनेरिज़ [[FreeBSD|फ्रीबीएसडी]],नेटबीएसडी, लिनक्स सिस्टम, माइक्रोसॉफ़्ट विंडोज़ और [[FreeDOS|फ्रीडॉस]] के लिए उपलब्ध हैं। [[फेडोरा (ऑपरेटिंग सिस्टम)]], स्लैकवेयर, [[उबंटू (ऑपरेटिंग सिस्टम)]] और [[डेबियन]] सहित विभिन्न [[लिनक्स]] वितरण अपने सॉफ्टवेयर पैकेजों को कोम्प्रेसिंग करने के लिए एक्सज़ेड का उपयोग करते हैं। [[आर्क लिनक्स]] पहले पैकेजों को कोम्प्रेसिंग करने के लिए एक्सज़ेड का उपयोग करता था,<ref>{{cite web | title=News: Switching to xz compression for new packages | url=https://www.archlinux.org/news/switching-to-xz-compression-for-new-packages/ | date=2010-03-23 | author=Pierre Schmitz }}</ref> किन्तु 27 दिसंबर, 2019 तक, पैकेज [[Zstandard|ज़ेडस्टैंडर्ड]] कम्प्रेसन के साथ कोम्प्रेसिंग हैं।<ref>{{Cite web|url=https://www.archlinux.org/news/now-using-zstandard-instead-of-xz-for-package-compression/|title=Arch Linux - News: Now using Zstandard instead of xz for package compression|website=www.archlinux.org|access-date=2020-01-07}}</ref> जीएनयू एफ़टीपी आर्चिव भी एक्सज़ेड का उपयोग करता है।
बायनेरिज़ [[FreeBSD]], [[NetBSD]], Linux सिस्टम, Microsoft Windows और [[FreeDOS]] के लिए उपलब्ध हैं। [[फेडोरा (ऑपरेटिंग सिस्टम)]], स्लैकवेयर, [[उबंटू (ऑपरेटिंग सिस्टम)]] और [[डेबियन]] सहित कई [[लिनक्स]] वितरण अपने सॉफ्टवेयर पैकेजों को संपीड़ित करने के लिए xz का उपयोग करते हैं। [[आर्क लिनक्स]] पहले पैकेजों को संपीड़ित करने के लिए xz का उपयोग करता था,<ref>{{cite web | title=News: Switching to xz compression for new packages | url=https://www.archlinux.org/news/switching-to-xz-compression-for-new-packages/ | date=2010-03-23 | author=Pierre Schmitz }}</ref> लेकिन 27 दिसंबर, 2019 तक, पैकेज [[Zstandard]] संपीड़न के साथ संपीड़ित हैं।<ref>{{Cite web|url=https://www.archlinux.org/news/now-using-zstandard-instead-of-xz-for-package-compression/|title=Arch Linux - News: Now using Zstandard instead of xz for package compression|website=www.archlinux.org|access-date=2020-01-07}}</ref> GNU FTP संग्रह भी xz का उपयोग करता है।


== संदर्भ ==
== संदर्भ ==
Line 120: Line 103:
[[Category: Machine Translated Page]]
[[Category: Machine Translated Page]]
[[Category:Created On 07/12/2023]]
[[Category:Created On 07/12/2023]]
[[Category:Vigyan Ready]]

Latest revision as of 21:49, 18 December 2023

.xz
Filename extension
.xz
Internet media type
application/x-xz
Magic numberFD 37 7A 58 5A 00
Developed byलेसे कॉलिन
इगोर पावलोव
Initial releaseJanuary 14, 2009; 15 years ago (2009-01-14)
Latest release
1.1.0
December 11, 2022; 21 months ago (2022-12-11)
Type of formatडेटा कम्प्रेशन
Open format?Yes
Free format?यस
Websitetukaani.org/xz/xz-file-format.txt

एक्सज़ेड यूटिल्स (पहले एलजेडएमए यूटिल्स) फ्री सॉफ्टवेयर कमांड लाइन इंटरफेस या कमांड-लाइन लोसलेस डेटा कम्प्रेसर का सेट है, जिसमें यूनिक्स जैसे ऑपरेटिंग सिस्टम और वर्जन 5.0 से माइक्रोसॉफ़्ट विंडोज़ के लिए प्रोग्राम एलजेडएमए और एक्सज़ेड सम्मिलित हैं। इस प्रकार कम्प्रेसन/डीकंप्रेसन के लिए लेम्पेल-ज़िव-मार्कोव श्रृंखला एल्गोरिदम (एलजेडएमए) का उपयोग किया जाता है। इस प्रकार एक्सज़ेड यूटिल्स की प्रारंभ इगोर पावलोव (प्रोग्रामर) के सॉफ्टवेयर डेवलपमेंट किट के यूनिक्स पोर्ट के रूप में हुई, जिसे यूनिक्स एनवायरनमेंट और उनकी सामान्य संरचना और व्यवहार में सही से फिट होने के लिए अनुकूलित किया गया है।

विशेषताएँ

अधिकतर स्थितियों में, एक्सज़ेड जीजेडआईपी और जीजेडआईपी जैसे विकल्पों की तुलना में उच्च कम्प्रेसन दर प्राप्त करता है। डीकंप्रेसन गति जीजेडआईपी से अधिक है, किन्तु जीजेडआईपी से कम है। इस प्रकार कम्प्रेसन जीजेडआईपी की तुलना में बहुत धीमा हो सकता है, और उच्च स्तर के कम्प्रेसन के लिए जीजेडआईपी की तुलना में धीमा है, और यह सबसे उपयोगी है जब कोम्प्रेसिंग फ़ाइल का अधिकांशतः उपयोग किया जाता है।[1][2]

एक्सज़ेड यूटिल्स में दो प्रमुख कॉम्पोनेन्ट होते हैं:

विभिन्न कमांड शॉर्टकट उपस्थित हैं, जैसे lzma (के लिए xz --format=lzma), unxz (के लिए xz --decompress; इसके अनुरूप gunzip) और xzcat (के लिए unxz --stdout; इसके अनुरूप zcat)

एक्सज़ेड यूटिल्स एक्सज़ेड और एलजेडएमए दोनों फ़ाइल स्वरूपों को कोम्प्रेसिंग और विघटित कर सकता है, किन्तु चूंकि एलजेडएमए फोर्मेट अब लिगेसी है,[3] इस प्रकार एक्सज़ेड यूटिल्स डिफ़ॉल्ट रूप से एक्सज़ेड पर कोम्प्रेसिंग होता है।

उपयोग

इस प्रकार सॉफ़्टवेयर के व्यवहार के साथ-साथ फ़ाइल फोर्मेट के गुण दोनों को लोकप्रिय यूनिक्स कंप्रेसिंग टूल जीजेडआईपी और जीजेडआईपी के समान कार्य करने के लिए डिज़ाइन किया गया है।

इस प्रकार जीजेडआईपी और बीजेडआईपी की तरह, एक्सज़ेड और एलजेडएमए इनपुट के रूप में केवल एकल फ़ाइलों (या डेटा स्ट्रीम) को कोम्प्रेसिंग कर सकते हैं। वह एकाधिक फ़ाइलों को फ़ाइल अर्चिव में बंडल नहीं कर सकते - ऐसा करने के लिए पहले आर्चिव प्रोग्राम का उपयोग किया जाता है, जैसे टार (कंप्यूटिंग)

किसी आर्चिव को कोम्प्रेसिंग करता है:

xz   my_archive.tar    # results in my_archive.tar.xz
lzma my_archive.tar    # results in my_archive.tar.lzma

आर्चिव को डीकंप्रेस करता है:

unxz    my_archive.tar.xz      # results in my_archive.tar
unlzma  my_archive.tar.lzma    # results in my_archive.tar

इस प्रकार टार के जीएनयू कार्यान्वयन के संस्करण 1.22 या उससे अधिक में एलजेडएमए और एक्सजेड के साथ कोम्प्रेसिंग टारबॉल के लिए पारदर्शी समर्थन है, जो एक्सजेड कम्प्रेसन के लिए स्विच--xz या -J और एलजेडएमए कम्प्रेसन के लिए --lzma का उपयोग करता है। एक आर्चिव बनाना और उसे कोम्प्रेसिंग करता है:

tar -c --xz   -f my_archive.tar.xz   /some_directory    # results in my_archive.tar.xz
tar -c --lzma -f my_archive.tar.lzma /some_directory    # results in my_archive.tar.lzma

इस प्रकार आर्चिव को डीकंप्रेस करना और उसकी कंटेंट निकालता है:

tar -x --xz   -f my_archive.tar.xz      # results in /some_directory
tar -x --lzma -f my_archive.tar.lzma    # results in /some_directory

इस प्रकार कोम्प्रेसिंग के साथ आर्चिव के लिए एकल-अक्षर टार उदाहरण और टार (कंप्यूटिंग) का उपयोग करके एक्सट्रैक्ट के साथ डीकंप्रेस या कोम्प्रेसिंग फ़ाइलों के लिए सफिक्स किया जाता है:

tar cJf keep.txz keep   # archive then compress the directory ./keep/ into the file ./keep.txz
tar xJf keep.txz        # decompress then extract the file ./keep.txz creating the directory ./keep/

इस प्रकार एक्सज़ेड ने 2014 से, वर्जन 5.2.0 मल्टी-थ्रेडेड कम्प्रेशन (-T फ्लैग के साथ) का समर्थन किया है [4][5] चूंकि वर्जन 5.4.0 थ्रेडेड डीकंप्रेसन प्रयुक्त किया गया है। थ्रेडेड डीकंप्रेसन के लिए स्ट्रीम के अन्दर विभिन्न कोम्प्रेसिंग ब्लॉकों की आवश्यकता होती है जो थ्रेडेड कम्प्रेसन इंटरफ़ेस द्वारा बनाए जाते हैं।[4] इस प्रकार यदि फ़ाइल दी गई सेटिंग्स के साथ थ्रेडिंग के लिए पर्याप्त बड़ी नहीं है या यदि अधिक थ्रेड्स का उपयोग मेमोरी उपयोग सीमा से अधिक होगा, तो थ्रेड्स की संख्या परिभाषित से कम हो सकती है।[4]

एक्सज़ेड फोर्मेट

इस प्रकार प्रीप्रोसेसिंग फ़िल्टर की अनुमति देकर एक्सज़ेड फोर्मेट एलजेडएमए में सुधार करता है। इस प्रकार उपयोग किए गए स्पष्ट फ़िल्टर 7z या प्री-प्रोसेसिंग फ़िल्टर में उपयोग किए गए फ़िल्टर के समान हैं, क्योंकि 7z के फ़िल्टर एलजेडएमए एसडीके के माध्यम से सार्वजनिक डोमेन में उपलब्ध हैं।

विकास और स्वीकृति

इस प्रकार एक्सज़ेड यूटिल्स का विकास तुकानी प्रोजेक्ट के अन्दर हुआ था, जिसका नेतृत्व माइक केज़नर ने किया था, डेवलपर्स के छोटे समूह ने जो कभी स्लैकवेयर पर आधारित लिनक्स वितरण बनाए रखा था।

इस प्रकार एक्सज़ेड और एलआईबीईएलजेडएमए के सभी स्रोत कोड सार्वजनिक डोमेन में जारी कर दिए गए हैं। एक्सज़ेड यूटिल्स स्रोत वितरण में अतिरिक्त रूप से कुछ वैकल्पिक स्क्रिप्ट और उदाहरण प्रोग्राम सम्मिलित हैं जो जीएनयू जनरल पब्लिक लाइसेंस के विभिन्न वर्जन के अधिकृत हैं।[6]

विशेष रूप से, एक्सज़ेड यूटिल्स सॉफ़्टवेयर के साथ वितरित जीएनयू जनरल पब्लिक लाइसेंस स्क्रिप्ट और स्रोतों की पूरी सूची में सम्मिलित हैं:

  • सामान्य एलआईबीसी फ़ंक्शन का वैकल्पिक कार्यान्वयन, गेटऑप्ट (जीएनयू लेसर जनरल पब्लिक लाइसेंस या जीएनयू एलजीपीएल v2.1)
  • पाथ्रेड डिटेक्शन के लिए एम4 (कंप्यूटर लैंग्वेज) स्क्रिप्ट (जीएनयू जनरल पब्लिक लाइसेंस या वर्जन 3)
  • कुछ अनावश्यक रैपर स्क्रिप्ट (एक्सज़ेडग्रेप, आदि) (जीएनयू जनरल पब्लिक लाइसेंस या वर्जन 2)
  • और उदाहरण प्रोग्राम स्कैनलज़मा जो बिल्ड सिस्टम के साथ एकीकृत नहीं है

इस प्रकार परिणामी सॉफ़्टवेयर एक्सज़ेड और एलआईबीईएलजेडएमए बायनेरिज़ सार्वजनिक डोमेन हैं, जब तक कि वैकल्पिक एलजीपीएल गेटऑप्ट कार्यान्वयन सम्मिलित नहीं किया जाता है।[7]

इस प्रकार बायनेरिज़ फ्रीबीएसडी,नेटबीएसडी, लिनक्स सिस्टम, माइक्रोसॉफ़्ट विंडोज़ और फ्रीडॉस के लिए उपलब्ध हैं। फेडोरा (ऑपरेटिंग सिस्टम), स्लैकवेयर, उबंटू (ऑपरेटिंग सिस्टम) और डेबियन सहित विभिन्न लिनक्स वितरण अपने सॉफ्टवेयर पैकेजों को कोम्प्रेसिंग करने के लिए एक्सज़ेड का उपयोग करते हैं। आर्क लिनक्स पहले पैकेजों को कोम्प्रेसिंग करने के लिए एक्सज़ेड का उपयोग करता था,[8] किन्तु 27 दिसंबर, 2019 तक, पैकेज ज़ेडस्टैंडर्ड कम्प्रेसन के साथ कोम्प्रेसिंग हैं।[9] जीएनयू एफ़टीपी आर्चिव भी एक्सज़ेड का उपयोग करता है।

संदर्भ

  1. Henry-Stocker, Sandra (2017-12-12). "Linux फ़ाइल संपीड़न का अधिकतम लाभ कैसे उठाएं". Network World (in English). Retrieved 2020-02-09.
  2. "Gzip vs Bzip2 vs XZ Performance Comparison". RootUsers (in English). 2015-09-16. Retrieved 2020-02-09.
  3. LZMA Utils, retrieved 2011-01-25
  4. 4.0 4.1 4.2 "Linux Manpages Online - man.cx manual pages".
  5. XZ Utils Release Notes
  6. Licensing on tukaani.org "The most interesting parts of XZ Utils (e.g. liblzma) are in the public domain. You can do whatever you want with the public domain parts. Some parts of XZ Utils (e.g. build system and some utilities) are under different free software licenses such as GNU LGPLv2.1, GNU GPLv2, or GNU GPLv3."
  7. "In what cases is the output of a GPL program covered by the GPL too?". GNU.org. Retrieved 21 August 2019.
  8. Pierre Schmitz (2010-03-23). "News: Switching to xz compression for new packages".
  9. "Arch Linux - News: Now using Zstandard instead of xz for package compression". www.archlinux.org. Retrieved 2020-01-07.


बाहरी संबंध