सामान्य कोशिश
tar
कार्यक्रम के लिए विकल्प है :
-I, --use-compress-program PROG
filter through PROG (must accept -d)
आप अभिलेखीय या कंप्रेसर उपयोगिता के मल्टीथ्रेड संस्करण का उपयोग कर सकते हैं।
अधिकांश लोकप्रिय मल्टीथ्रेड आर्काइव्स पिज़्ज़ ( गज़िप के बजाय) और pbzip2 (bzip2 के बजाय) हैं। उदाहरण के लिए:
$ tar -I pbzip2 -cf OUTPUT_FILE.tar.bz2 paths_to_archive
$ tar --use-compress-program=pigz -cf OUTPUT_FILE.tar.gz paths_to_archive
आर्काइव को -d को स्वीकार करना होगा। यदि आपकी प्रतिस्थापन उपयोगिता में यह पैरामीटर नहीं है और / या आपको अतिरिक्त पैरामीटर निर्दिष्ट करने की आवश्यकता है, तो पाइप का उपयोग करें (यदि आवश्यक हो तो पैरामीटर जोड़ें):
$ tar cf - paths_to_archive | pbzip2 > OUTPUT_FILE.tar.gz
$ tar cf - paths_to_archive | pigz > OUTPUT_FILE.tar.gz
सिंगलथ्रेड और मल्टीथ्रेड के इनपुट और आउटपुट संगत हैं। आप मल्टीथ्रेड वर्जन और डीकंप्रेस को सिंगलथ्रेड वर्जन और इसके विपरीत का उपयोग करके कंप्रेस कर सकते हैं।
p7zip
संपीड़न के लिए p7zip के लिए आपको निम्नलिखित की तरह एक छोटे शेल स्क्रिप्ट की आवश्यकता है:
#!/bin/sh
case $1 in
-d) 7za -txz -si -so e;;
*) 7za -txz -si -so a .;;
esac 2>/dev/null
इसे 7zhelper.sh के रूप में सहेजें। यहाँ उपयोग का उदाहरण:
$ tar -I 7zhelper.sh -cf OUTPUT_FILE.tar.7z paths_to_archive
$ tar -I 7zhelper.sh -xf OUTPUT_FILE.tar.7z
XZ
बहुपरत XZ समर्थन के बारे में। यदि आप संस्करण 5.2.0 या XZ यूटिल्स के ऊपर चल रहे हैं, तो आप पर्यावरण चर XZ_DEFAULTS के माध्यम से सेटिंग -T
या --threads
उचित मूल्य पर संपीड़न के लिए कई कोर का उपयोग कर सकते हैं (जैसेXZ_DEFAULTS="-T 0"
) के ।
यह 5.1.0alpha संस्करण के लिए मनुष्य का एक टुकड़ा है:
बहुपरत संपीड़न और विघटन अभी तक लागू नहीं किए गए हैं, इसलिए इस विकल्प का अभी कोई प्रभाव नहीं है।
हालाँकि यह उन फ़ाइलों के अपघटन के लिए काम नहीं करेगा जो थ्रेडिंग सक्षम होने के साथ संकुचित भी नहीं हुए हैं। संस्करण 5.2.2 के लिए आदमी से:
थ्रेडेड अपघटन अभी तक लागू नहीं किया गया है। यह केवल उन फाइलों पर काम करेगा जिनमें ब्लॉक हेडर में आकार की जानकारी के साथ कई ब्लॉक हैं। बहु-थ्रेडेड मोड में संपीड़ित सभी फ़ाइलें इस स्थिति को पूरा करती हैं, लेकिन एकल-थ्रेडेड मोड में संपीड़ित फ़ाइलें उपयोग नहीं की जाती हैं, भले ही --block-size = size का उपयोग किया जाता है।
प्रतिस्थापन के साथ Recompiling
यदि आप स्रोतों से टार का निर्माण करते हैं, तो आप मापदंडों के साथ फिर से जुड़ सकते हैं
--with-gzip=pigz
--with-bzip2=lbzip2
--with-lzip=plzip
इन विकल्पों के साथ टार recompiling करने के बाद आप टार की मदद से आउटपुट की जांच कर सकते हैं:
$ tar --help | grep "lbzip2\|plzip\|pigz"
-j, --bzip2 filter the archive through lbzip2
--lzip filter the archive through plzip
-z, --gzip, --gunzip, --ungzip filter the archive through pigz