अगर आपको कभी भी tar
. के साथ बड़े वॉल्यूम को कंप्रेस करना पड़ा हो , आपको पता चल जाएगा कि यह कितना दर्द हो सकता है। यह अक्सर बहुत धीमी गति से चलता है, और आप अपने आप को Ctrl . मारते हुए पाते हैं + सी कार्य को समाप्त करने के लिए और बस इसके बारे में भूल जाओ। हालाँकि, कुछ अन्य उपकरण हैं जो टार उपयोग कर सकते हैं, और वे आज के भारी बहु-थ्रेडेड सीपीयू का उपयोग करने और आपके टार संग्रह को गति देने का एक शानदार तरीका हैं। यह लेख आपको दिखाता है कि लिनक्स में आर्काइव्स को कंप्रेस करते समय टार को सभी कोर का उपयोग कैसे करें।
टूल्स को समझना और इंस्टॉल करना
यहां विचाराधीन तीन मुख्य उपकरण पिगज़, पीबीज़िप 2 और पीएक्सजेड हैं। टूल के बीच कुछ सूक्ष्म अंतर हैं, लेकिन अंतर gzip, bzip2 और xz के बीच हैं। उस संबंधित क्रम में, संपीड़न स्तर बढ़ता है, जिसका अर्थ है कि gzip के साथ संपीड़ित एक संग्रह xz के साथ संपीड़ित एक से बड़ा होगा, लेकिन gzip स्वाभाविक रूप से xz की तुलना में कम समय लेगा। bzip2 बीच में कहीं है।
प्रत्येक उपकरण के नाम शुरू करने वाले "पी" का अर्थ "समानांतर" है। समानांतरीकरण एक ऐसी चीज है जो पिछले कुछ वर्षों में तेजी से अधिक प्रासंगिक हो गई है - सभी सीपीयू कोर कितनी अच्छी तरह फैले हुए हैं। एएमडी की एपिक और थ्रेडिपर लाइनों जैसे सीपीयू के साथ जो 64 कोर और 128 थ्रेड तक पहुंच सकते हैं, यह समझना महत्वपूर्ण है कि कौन से एप्लिकेशन इसका उपयोग कर सकते हैं। ये संपीड़न कार्य प्रमुख उम्मीदवार हैं।
टूल इंस्टॉल करने के लिए, आप बस अपने रेपो की ओर रुख कर सकते हैं।
sudo apt install pigz pbzip2 pxz # Debian/Ubuntu sudo dnf install pigz pbzip2 pxz # Fedora sudo pacman -Sy pigz pbzip2 pxz # Arch Linux
निरंतरता के लिए यह लेख pxz पर केंद्रित है। आप पिग्ज़ के लिए यह ट्यूटोरियल देख सकते हैं।
संग्रह को टार से संपीडित करना
टार का सिंटैक्स काफी सरल है। किसी निर्देशिका को केवल संपीड़ित करने के लिए, आप इस तरह से एक कमांड का उपयोग कर सकते हैं:
tar czf linux-5.10-rc3.tar.gz linux/ tar cjf linux-5.10-rc3.tar.bz2 linux/ tar cJf linux-5.10-rc3.tar.xz linux/
पहला gzip का उपयोग करेगा, दूसरा bzip2 का उपयोग करेगा, और तीसरा xz का उपयोग करेगा। आप जो कर रहे हैं उसके आधार पर फ़ाइल का नाम और निर्देशिका अलग-अलग होगी, लेकिन मैंने GitHub से Linux कर्नेल को अपनी "/home" निर्देशिका में खींच लिया, और मैं उसका उपयोग करूंगा। इसलिए, मैं आगे बढ़ूंगा और उस आदेश को time
. के साथ शुरू करूंगा यह देखने के लिए कि इसमें कितना समय लगता है, सामने की ओर कमांड करें। आप यह भी देख सकते हैं कि xz इस सिस्टम पर मेरे CPU का उच्चतम प्रतिशत लेने के रूप में सूचीबद्ध है, लेकिन यह केवल एक कोर को 100 प्रतिशत पर पिन कर रहा है।
और, जैसा कि आप देख सकते हैं, मेरी उम्र बढ़ने वाले i7-2600s को Linux 5.10-rc3 (लगभग 28 मिनट) को संपीड़ित करने में बहुत लंबा समय लगा।
यह वह जगह है जहाँ ये समानांतर संपीड़न उपकरण काम में आते हैं। अगर आप किसी बड़ी फ़ाइल को कंप्रेस कर रहे हैं और उसे तेज़ी से पूरा करना चाहते हैं, तो मैं इन टूल की पर्याप्त अनुशंसा नहीं कर सकता।
टार के साथ समानांतर संपीड़न टूल का उपयोग करना
आप या तो टार को --use-compression-program
. के साथ एक कम्प्रेशन प्रोग्राम का उपयोग करने के लिए कह सकते हैं विकल्प, या आप -I
. के थोड़े सरल कमांड फ्लैग का उपयोग कर सकते हैं . इनमें से किसी भी टूल के सिंटैक्स का एक उदाहरण इस प्रकार होगा:
tar -I pigz -cf linux-5.10-rc3.tar.gz linux/ tar -I pbzip2 -cf linux-5.10-rc3.tar.bz2 linux/ tar -I pxz -cf linux-5.10-rc3.tar.xz linux/
आइए इसका परीक्षण करें और देखें कि मेरे सिस्टम को मेरे सीपीयू के सभी आठ थ्रेड्स तक पहुंच के साथ लिनक्स कर्नेल को संपीड़ित करने में कितना समय लगता है। आप मेरा htop
देख सकते हैं pxz के कारण 100 प्रतिशत उपयोग पर पिन किए गए सभी थ्रेड्स को रीडआउट दिखा रहा है।
आप देख सकते हैं कि उस संग्रह को संपीड़ित करने में काफी कम समय लगा (लगभग सात मिनट!), और वह मल्टीटास्किंग के साथ था। मेरे पास पृष्ठभूमि में एक वर्चुअल मशीन चल रही है, और मैं इस समय कुछ वेब ब्राउज़िंग कर रहा हूं। Linux कर्नेल हार्डवेयर शेड्यूलर आपको वह देगा जो आपको अपने व्यक्तिगत सामान के लिए चाहिए, इसलिए यदि आपने अपना pxz
छोड़ दिया है आपके सिस्टम पर चल रहे किसी अन्य सामान के बिना चलाने का आदेश, आप इसे तेजी से पूरा करने में सक्षम हो सकते हैं।
पिगज़, pbzip2 और pxz के साथ संपीड़न स्तर समायोजित करना
आप फ़ाइल को और भी छोटा बनाने के लिए संपीड़न स्तर को pxz में पास कर सकते हैं। इसके लिए अधिक RAM, CPU और समय की आवश्यकता होगी, लेकिन यह इसके लायक है यदि आपको वास्तव में एक छोटी फ़ाइल प्राप्त करने की आवश्यकता है। यहां दो कमांड और उनके परिणामों की साथ-साथ तुलना की गई है।
संपीड़न इतना अधिक नहीं है, और समय इसके लायक नहीं है, लेकिन अगर हर मेगाबाइट मायने रखता है, तो यह अभी भी एक बढ़िया विकल्प है।
मुझे आशा है कि आपने टार का उपयोग करके अभिलेखागार को संपीड़ित करने के लिए सभी कोर का उपयोग करने के लिए इस गाइड का आनंद लिया है। हमारी कुछ अन्य लिनक्स सामग्री की जाँच करना सुनिश्चित करें, जैसे कि लिनक्स के लिए एक नया पीसी कैसे बनाया जाए, Apt में महारत हासिल करना और Apt गुरु बनना, और रास्पबेरी पाई पर आर्क लिनक्स कैसे स्थापित करना है।