एक्सज़ेड यूटिल्स
Original author(s) | Lasse Collin |
---|---|
Developer(s) | The Tukaani Project |
Stable release | Script error: The module returned a nil value. It is supposed to return an export table.
/ Script error: The module returned a nil value. It is supposed to return an export table. |
Written in | C |
Operating system | Cross-platform |
Type | Data compression |
License | Public domain.[1] (but see details in Development and adoption) |
Website | tukaani |
Filename extension |
.xz |
---|---|
Internet media type |
application/x-xz |
Magic number | FD 37 7A 58 5A 00 |
Developed by | Lasse Collin Igor Pavlov |
Initial release | January 14, 2009 |
Latest release | 1.1.0 December 11, 2022 |
Type of format | Data compression |
Open format? | Yes |
Free format? | Yes |
Website | tukaani |
एक्सज़ेड यूटिल्स (पहले LZMA यूटिल्स) मुफ्त सॉफ्टवेयर कमांड लाइन इंटरफेस | कमांड-लाइन दोषरहित संपीड़न का सेट है, जिसमें यूनिक्स जैसे ऑपरेटिंग सिस्टम और संस्करण 5.0 से आगे, Microsoft Windows के लिए प्रोग्राम lzma और एक्सज़ेड शामिल हैं। संपीड़न/डीकंप्रेसन के लिए लेम्पेल-ज़िव-मार्कोव श्रृंखला एल्गोरिदम (एलजेडएमए) का उपयोग किया जाता है। एक्सज़ेड यूटिल्स की शुरुआत इगोर पावलोव (प्रोग्रामर) के सॉफ़्टवेयर विकास किट के यूनिक्स पोर्ट के रूप में हुई, जिसे यूनिक्स वातावरण और उनकी सामान्य संरचना और व्यवहार में सहजता से फिट होने के लिए अनुकूलित किया गया है।
विशेषताएँ
ज्यादातर मामलों में, एक्सज़ेड gzip और bzip2 जैसे विकल्पों की तुलना में उच्च संपीड़न दर प्राप्त करता है। डीकंप्रेसन गति bzip2 से अधिक है, लेकिन gzip से कम है। संपीड़न gzip की तुलना में बहुत धीमा हो सकता है, और उच्च स्तर के संपीड़न के लिए bzip2 की तुलना में धीमा है, और यह सबसे उपयोगी है जब संपीड़ित फ़ाइल का कई बार उपयोग किया जाएगा।[2][3] एक्सज़ेड यूटिल्स में दो प्रमुख घटक होते हैं:
xz
, कमांड-लाइन कंप्रेसर और डीकंप्रेसर (gzip के अनुरूप)- liblzma, zlib के समान अप्लिकेशन प्रोग्रामिंग अंतरफलक वाली पुस्तकालय (कंप्यूटिंग) ।
विभिन्न कमांड शॉर्टकट मौजूद हैं, जैसे lzma
(के लिए xz --format=lzma
), unxz
(के लिए xz --decompress
; इसके अनुरूप gunzip
) और xzcat
(के लिए unxz --stdout
; इसके अनुरूप zcat
)
एक्सज़ेड यूटिल्स एक्सज़ेड और lzma दोनों फ़ाइल स्वरूपों को संपीड़ित और विघटित कर सकता है, लेकिन चूंकि LZMA प्रारूप अब विरासती तंत्र है,[4]एक्सज़ेड यूटिल्स डिफ़ॉल्ट रूप से एक्सज़ेड पर संपीड़ित होता है।
उपयोग
सॉफ़्टवेयर के व्यवहार के साथ-साथ फ़ाइल प्रारूप के गुण दोनों को लोकप्रिय यूनिक्स कंप्रेसिंग टूल gzip और bzip2 के समान काम करने के लिए डिज़ाइन किया गया है।
Gzip और bzip की तरह, एक्सज़ेड और 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 या उससे अधिक में कमांड-लाइन तर्क#कमांड-लाइन स्विच का उपयोग करके एलज़मा और एक्सज़ेड के साथ संपीड़ित टारबॉल के लिए पारदर्शी समर्थन है। --xz
या -J
एक्सज़ेड संपीड़न के लिए, और --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 में
संपीड़ित के साथ संग्रह के लिए एकल-अक्षर टार उदाहरण और टार (कंप्यूटिंग) का उपयोग करके अर्क के साथ डीकंप्रेस #संपीड़ित फ़ाइलों के लिए प्रत्यय:
tar cJf Keep.txz # संग्रह रखें फिर निर्देशिका ./keep/ को फ़ाइल में संपीड़ित करें ./keep.txz tar xJf Keep.txz # डीकंप्रेस करें फिर फ़ाइल निकालें ./keep.txz निर्देशिका बनाएं ./keep/
एक्सज़ेड ने मल्टी-थ्रेडेड कम्प्रेशन (के साथ) का समर्थन किया है -T
झंडा)[5] 2014 से, संस्करण 5.2.0.;[6] चूंकि संस्करण 5.4.0 थ्रेडेड डीकंप्रेसन लागू किया गया है। थ्रेडेड डीकंप्रेसन के लिए स्ट्रीम के भीतर कई संपीड़ित ब्लॉकों की आवश्यकता होती है जो थ्रेडेड संपीड़न इंटरफ़ेस द्वारा बनाए जाते हैं।[5]यदि फ़ाइल दी गई सेटिंग्स के साथ थ्रेडिंग के लिए पर्याप्त बड़ी नहीं है या यदि अधिक थ्रेड्स का उपयोग मेमोरी उपयोग सीमा से अधिक होगा, तो थ्रेड्स की संख्या परिभाषित से कम हो सकती है।[5]
एक्सज़ेड प्रारूप
प्रीप्रोसेसिंग फ़िल्टर की अनुमति देकर एक्सज़ेड प्रारूप lzma में सुधार करता है। उपयोग किए गए सटीक फ़िल्टर 7z#प्री-प्रोसेसिंग फ़िल्टर में उपयोग किए गए फ़िल्टर के समान हैं, क्योंकि 7z के फ़िल्टर LZMA SDK के माध्यम से सार्वजनिक डोमेन में उपलब्ध हैं।
विकास और अपनाना
एक्सज़ेड यूटिल्स का विकास तुकानी प्रोजेक्ट के भीतर हुआ, जिसका नेतृत्व माइक केज़नर ने किया था, डेवलपर्स के छोटे समूह ने जो कभी स्लैकवेयर पर आधारित लिनक्स वितरण बनाए रखा था।
एक्सज़ेड और liblzma के सभी स्रोत कोड सार्वजनिक डोमेन में जारी कर दिए गए हैं। एक्सज़ेड यूटिल्स स्रोत वितरण में अतिरिक्त रूप से कुछ वैकल्पिक स्क्रिप्ट और उदाहरण प्रोग्राम शामिल हैं जो जीएनयू जनरल पब्लिक लाइसेंस के विभिन्न संस्करणों के अधीन हैं।[1]
विशेष रूप से, एक्सज़ेड यूटिल्स सॉफ़्टवेयर के साथ वितरित GNU जनरल पब्लिक लाइसेंस स्क्रिप्ट और स्रोतों की पूरी सूची में शामिल हैं:
- सामान्य libc फ़ंक्शन का वैकल्पिक कार्यान्वयन, getopt (GNU लेसर जनरल पब्लिक लाइसेंस|GNU LGPL v2.1)
- पाथ्रेड डिटेक्शन के लिए एम4 (कंप्यूटर भाषा) स्क्रिप्ट (जीएनयू जनरल पब्लिक लाइसेंस#संस्करण 3)
- कुछ अनावश्यक रैपर स्क्रिप्ट (xzgrep, आदि) (जीएनयू जनरल पब्लिक लाइसेंस#संस्करण 2)
- और उदाहरण प्रोग्राम स्कैनलज़मा, जो बिल्ड सिस्टम के साथ एकीकृत नहीं है
परिणामी सॉफ़्टवेयर एक्सज़ेड और liblzma बायनेरिज़ सार्वजनिक डोमेन हैं, जब तक कि वैकल्पिक LGPL getopt कार्यान्वयन शामिल नहीं किया जाता है।[7] बायनेरिज़ FreeBSD, NetBSD, Linux सिस्टम, Microsoft Windows और FreeDOS के लिए उपलब्ध हैं। फेडोरा (ऑपरेटिंग सिस्टम), स्लैकवेयर, उबंटू (ऑपरेटिंग सिस्टम) और डेबियन सहित कई लिनक्स वितरण अपने सॉफ्टवेयर पैकेजों को संपीड़ित करने के लिए एक्सज़ेड का उपयोग करते हैं। आर्क लिनक्स पहले पैकेजों को संपीड़ित करने के लिए एक्सज़ेड का उपयोग करता था,[8] लेकिन 27 दिसंबर, 2019 तक, पैकेज Zstandard संपीड़न के साथ संपीड़ित हैं।[9] GNU FTP संग्रह भी एक्सज़ेड का उपयोग करता है।
संदर्भ
- ↑ 1.0 1.1 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."
- ↑ Henry-Stocker, Sandra (2017-12-12). "Linux फ़ाइल संपीड़न का अधिकतम लाभ कैसे उठाएं". Network World (in English). Retrieved 2020-02-09.
- ↑ "Gzip vs Bzip2 vs XZ Performance Comparison". RootUsers (in English). 2015-09-16. Retrieved 2020-02-09.
- ↑ LZMA Utils, retrieved 2011-01-25
- ↑ 5.0 5.1 5.2 "Linux Manpages Online - man.cx manual pages".
- ↑ XZ Utils Release Notes
- ↑ "In what cases is the output of a GPL program covered by the GPL too?". GNU.org. Retrieved 21 August 2019.
- ↑ Pierre Schmitz (2010-03-23). "News: Switching to xz compression for new packages".
- ↑ "Arch Linux - News: Now using Zstandard instead of xz for package compression". www.archlinux.org. Retrieved 2020-01-07.