Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रणाली >> Linux

Tar का उपयोग करके सभी CPU कोर के साथ आर्काइव को कंप्रेस कैसे करें

Tar का उपयोग करके सभी CPU कोर के साथ आर्काइव को कंप्रेस कैसे करें

यदि आपने कभी tar के साथ बड़े वॉल्यूम को कंप्रेस किया है, तो आप जानते होंगे कि यह कितना दर्दनाक हो सकता है। यह अक्सर बहुत धीरे-धीरे चलता है, और आप खुद को टास्क को समाप्त करने के लिए Ctrl + C दबाते हुए पाते हैं और बस इसके बारे में भूल जाते हैं। हालांकि, कुछ अन्य टूल हैं जिनका tar उपयोग कर सकता है, और वे आज के भारी मल्टी-थ्रेडेड CPU का उपयोग करने और अपने tar आर्काइविंग को गति देने का एक शानदार तरीका हैं। यह लेख आपको दिखाता है कि लिनक्स में आर्काइव को कंप्रेस करते समय tar को सभी कोर का उपयोग कैसे करना है।

टूल्स को समझना और इंस्टॉल करना

यहां तीन मुख्य टूल हैं: pigz, pbzip2, और pxz। टूल्स के बीच कुछ सूक्ष्म अंतर हैं, लेकिन अंतर gzip, bzip2, और xz के बीच हैं। उस संबंधित क्रम में, कंप्रेशन स्तर बढ़ते हैं, जिसका अर्थ है कि gzip के साथ कंप्रेस किया गया आर्काइव xz के साथ कंप्रेस किए गए से बड़ा होगा, लेकिन gzip स्वाभाविक रूप से xz से कम समय लेगा। bzip2 बीच में कहीं है।

प्रत्येक टूल के नाम की शुरुआत में "p" का अर्थ "पैरेलल" है। पैरेललाइज़ेशन पिछले कुछ वर्षों में तेजी से अधिक प्रासंगिक हो गया है - कोई चीज़ सभी CPU कोर पर कितनी अच्छी तरह फैलती है। AMD के Epyc और Threadripper लाइन्स जैसे CPU जो 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
Tar का उपयोग करके सभी CPU कोर के साथ आर्काइव को कंप्रेस कैसे करें

यह लेख स्थिरता के लिए pxz पर केंद्रित है। आप pigz के लिए इस ट्यूटोरियल को देख सकते हैं।

Tar के साथ आर्काइव कंप्रेस करना

tar का सिंटैक्स काफी सरल है। बस एक डायरेक्टरी को कंप्रेस करने के लिए, आप इस तरह की कमांड का उपयोग कर सकते हैं:

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 से लिनक्स कर्नेल को अपने "/home" डायरेक्टरी में खींचा, और मैं उसी का उपयोग करूंगा। तो, मैं आगे बढ़ूंगा और उस कमांड को सामने time कमांड के साथ शुरू करूंगा ताकि यह देखा जा सके कि इसमें कितना समय लगता है। आप यह भी देख सकते हैं कि xz इस सिस्टम पर मेरे CPU का उच्चतम प्रतिशत ले रहा है, लेकिन यह केवल एक कोर को 100 प्रतिशत पर पिन कर रहा है।

Tar का उपयोग करके सभी CPU कोर के साथ आर्काइव को कंप्रेस कैसे करें Tar का उपयोग करके सभी CPU कोर के साथ आर्काइव को कंप्रेस कैसे करें

और, जैसा कि आप देख सकते हैं, मेरे पुराने i7-2600s को लिनक्स 5.10-rc3 को कंप्रेस करने में बहुत लंबा समय लगा (लगभग 28 मिनट)।

Tar का उपयोग करके सभी CPU कोर के साथ आर्काइव को कंप्रेस कैसे करें

यहीं पर ये पैरेलल कंप्रेशन टूल काम आते हैं। यदि आप एक बड़ी फाइल कंप्रेस कर रहे हैं और इसे तेजी से पूरा करना चाहते हैं, तो मैं इन टूल्स की पर्याप्त सिफारिश नहीं कर सकता।

Tar के साथ पैरेलल कंप्रेशन टूल्स का उपयोग करना

आप या तो --use-compression-program विकल्प के साथ tar को कंप्रेशन प्रोग्राम का उपयोग करने के लिए कह सकते हैं, या आप थोड़ा सरल कमांड फ्लैग -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/

आइए इसे टेस्ट करें और देखें कि मेरे सिस्टम को अपने CPU के सभी आठ थ्रेड्स तक पहुंच के साथ लिनक्स कर्नेल को कंप्रेस करने में कितना समय लगता है। आप मेरा htop रीडआउट देख सकते हैं जो pxz के कारण सभी थ्रेड्स को 100 प्रतिशत उपयोग पर पिन किया गया दिखा रहा है।

Tar का उपयोग करके सभी CPU कोर के साथ आर्काइव को कंप्रेस कैसे करें Tar का उपयोग करके सभी CPU कोर के साथ आर्काइव को कंप्रेस कैसे करें

आप देख सकते हैं कि उस आर्काइव को कंप्रेस करने में काफी कम समय लगा (लगभग सात मिनट!), और वह मल्टीटास्किंग के साथ था। मेरे पास बैकग्राउंड में एक वर्चुअल मशीन चल रही है, और मैं फिलहाल कुछ वेब ब्राउज़िंग कर रहा हूं। लिनक्स कर्नेल हार्डवेयर शेड्यूलर आपको आपके व्यक्तिगत सामान के लिए जो चाहिए वह देगा, इसलिए यदि आप अपने सिस्टम पर बिना किसी अन्य चीज़ के चल रहे अपने pxz कमांड को छोड़ देते हैं, तो आप इसे तेजी से पूरा करने में सक्षम हो सकते हैं।

Tar का उपयोग करके सभी CPU कोर के साथ आर्काइव को कंप्रेस कैसे करें

pigz, pbzip2, और pxz के साथ कंप्रेशन लेवल एडजस्ट करना

आप pxz को कंप्रेशन लेवल भी पास कर सकते हैं ताकि फाइल को और भी छोटा बनाया जा सके। इसके लिए अधिक RAM, CPU, और समय की आवश्यकता होगी, लेकिन यदि आपको वास्तव में एक छोटी फाइल प्राप्त करने की आवश्यकता है तो यह इसके लायक है। यहां दो कमांड और उनके परिणामों की साथ-साथ तुलना है।

Tar का उपयोग करके सभी CPU कोर के साथ आर्काइव को कंप्रेस कैसे करें Tar का उपयोग करके सभी CPU कोर के साथ आर्काइव को कंप्रेस कैसे करें Tar का उपयोग करके सभी CPU कोर के साथ आर्काइव को कंप्रेस कैसे करें

कंप्रेशन उतना अधिक नहीं है, और समय जरूरी नहीं कि इसके लायक हो, लेकिन यदि हर मेगाबाइट मायने रखता है, तो यह अभी भी एक बढ़िया विकल्प है।

मुझे आशा है कि आपको tar का उपयोग करके सभी कोर का उपयोग करके आर्काइव कंप्रेस करने के इस गाइड का आनंद मिला। हमारे अन्य लिनक्स कंटेंट को देखना सुनिश्चित करें, जैसे लिनक्स के लिए एक नया पीसी कैसे बनाएं, Apt में मास्टर बनना और Apt गुरु बनना, और रास्पबेरी पाई पर आर्क लिनक्स कैसे इंस्टॉल करें।


  1. Linux में shar के साथ सेल्फ-एक्सट्रैक्टिंग आर्काइव कैसे बनाएं Linux में shar के साथ सेल्फ-एक्सट्रैक्टिंग आर्काइव कैसे बनाएं

    क्या यह कष्टप्रद, यहां तक कि थकाऊ नहीं है, किसी संपर्क को यह समझाना कि यह क्या है और इसे भेजने के बाद इसे कैसे अनपैक करना है? यदि आपने हां उत्तर दिया, तो आप लिनक्स में shar को पसंद करेंगे। shar के साथ, आप कई फ़ाइलों को एक में पैक कर सकते हैं। यदि आप इसे अपने किसी संपर्क को भेजते हैं, तो उन्हें बस यह

  1. मिनीक्यूब का उपयोग करके अपने लैपटॉप पर कुबेरनेट्स के साथ शुरुआत कैसे करें मिनीक्यूब का उपयोग करके अपने लैपटॉप पर कुबेरनेट्स के साथ शुरुआत कैसे करें

    हमने पिछले ट्यूटोरियल में कुबेरनेट्स की मूल बातें पहले ही कवर कर ली हैं। एक सिंगल-नोड कुबेरनेट्स क्लस्टर के रूप में, मिनीक्यूब आपके लैपटॉप पर कुबेरनेट्स चलाने का सबसे अच्छा तरीका है क्योंकि इसे एक वर्चुअल मशीन के अंदर पूरी तरह से रखा जा सकता है। कुबेरनेट्स की आधिकारिक वेबसाइट मिनीक्यूब के साथ शुरुआ

  1. Cinebench से अपने CPU को बेंचमार्क कैसे करें Cinebench से अपने CPU को बेंचमार्क कैसे करें

    यदि आपने अभी एक शक्तिशाली नया CPU लिया है, जैसे Ryzen 7 परिवार में से एक, जैसे 5800X या 5900X, तो बधाई हो! अपने नए CPU को वास्तव में इसकी गति के माध्यम से रखने का सबसे अच्छा तरीका है इसे बेंचमार्क करना। विभिन्न उपकरण हैं जिनका आप उपयोग कर सकते हैं, लेकिन Cinebench अधिकांश उत्साही लोगों के लिए गो-टू