एक्सज़ेड यूटिल्स

From Vigyanwiki
.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; 2 years 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.


बाहरी संबंध