कोई linux कमांड tar.bz2 फाइल के समानांतर डीकंप्रेसन करने के लिए?


17

मेरे पास एक बड़ी फ़ाइल (~ 50GB) है और इसे चलाने में कुछ समय लगता है

tar xvf file.tar.bz2

इस पर। मुझे ऐसे कार्यक्रमों की जानकारी है जो bzip2 फ़ाइलों के लिए समानांतर संपीड़न कर सकते हैं, लेकिन उन कार्यक्रमों से अनजान हैं जो bzip2 फ़ाइलों के लिए समानांतर अपघटन कर सकते हैं।

क्या कोई कार्यक्रम हैं जो इसे प्राप्त कर सकते हैं? फ़ाइल से निकालने के लिए उपयोग करने के लिए कमांड का सटीक सिंटैक्स क्या है?

मैं ubuntu 12.04 का उपयोग कर रहा हूं

जवाबों:


22

lbzip2और pbzip2उपकरण हैं जो आप समानांतर संपीड़न और विघटन के लिए उपयोग कर सकते हैं।

उपयोग:

lbzip2 -d <file.tar.bz2> 
pbzip2 -d <file.tar.bz2> 

-d विकल्प का उपयोग विघटन के लिए किया जाता है।

इन पैकेजों को स्थापित करने के लिए:

lbzip2 Lbzip2 स्थापित करें प्रकार:

sudo apt-get install lbzip2

pbzip2 Pbzip2 स्थापित करें प्रकार:

sudo apt-get install pbzip2

इसलिए अगर मैं सही तरीके से समझूं, तो मुझे डिकम्प्रेस करना होगा और फिर अनटार? 2 आदेशों के विपरीत tar xvf?
user784637

1
हां जब आप lbzip2 -d -n 2 file.tar.bz2इसे चलाएंगे तो यह एक टार फाइल देगा। जिसे असत्य करने की आवश्यकता है।
devav2

1
Pbzip2 के मैन पेज से (lbzip2 एक समान कहानी कहता है): "pbzip2 के साथ संपीड़ित फ़ाइलें भी pbzip2 का उपयोग करते हुए विघटित होने पर काफी स्पीडअप प्राप्त करेंगी। bipip2 का उपयोग करके संकुचित की गई फ़ाइलें bzip2 के बाद से स्पीडअप नहीं देख पाएंगी क्योंकि डेटा एकल chunk में पैकेज करता है। प्रोसेसर के बीच विभाजन नहीं किया जा सकता है। "
तपियो

1
@Tapio यहाँ lbzip2"संपीड़ित या डीकंप्रेस के लिए विवरण है। नियमित रूप से फ़ाइलों या मानक आउटपुट के लिए FILE ऑपरेंड या मानक इनपुट, कई थ्रेड से जूलियन सेवार्ड के libbz2 को कॉल करके। lbzip2 यूटिलिटी decompressing .bz2 फ़ाइलों के होते हुए भी कई थ्रेड्स या इनपुट-बाउंड स्प्लिटर को नियुक्त करता है। मानक bzip2 द्वारा निर्मित (लेकिन नीचे BUGS देखें)। "
devav2

1
अकेले उत्तर से, मैं समझूंगा कि दोनों कार्यक्रमों को किसी भी तरह एक साथ उपयोग करने की आवश्यकता है - लेकिन वे वास्तव में विकल्प लगते हैं? (यह कहता है "lbzip2 और pbzip2 उपकरण हैं ...", "उपयोग: lbzip2 ... pbzip2 ...", "इन स्थापित करने के लिए ...")
Volker Siegel

11

आप टार्क विकल्प का उपयोग करके एक एकल कमांड के साथ अपने संग्रह को खोल सकते हैं -I। यह आपको -dविकल्प का समर्थन करने वाले किसी भी संपीड़न उपयोगिता का उपयोग करने की क्षमता देता है ।

tar -I lbzip2 -xvf <file.tar.bz2>

बड़े संग्रह के साथ बहरा होने पर यह बहुत उपयोगी होता है क्योंकि आपको लक्ष्य फाइल सिस्टम पर दो बार असम्पीडित आकार उपलब्ध होने की आवश्यकता नहीं है (टार टेम्प फाइल और आउटपुट फाइल) यह भी तेज है क्योंकि आपको अभी तक कम डिस्क आईओ की आवश्यकता है।

निश्चित रूप से, जब कंप्रेसिंग भी काम करती है:

tar -I lbzip2 -cvpf <file.tar.bz2> <file>

tar --helpअधिक विकल्पों के लिए जाँच करें।


1
एक अन्य विकल्प (जैसे अगर "टार" के आपके संस्करण को -I विकल्प समझ में नहीं आता है) हैlbzip2 -dc file.tar.bz2 | tar xvf -
वोडिन

5

आप pbzip2 -dको "डीकंप्रेस" झंडे के साथ उपयोग कर सकते हैं:

मैनपेज से:

  pbzip2 -d myfile.tar.bz2

यह उदाहरण "myfile.tar.bz2" फाइल को डिकम्प्रेस्ड फाइल "myfile.tar" में डिकम्प्रेस करेगा। यह प्रोसेसर के ऑटोडेटेट # (या 2 प्रोसेसर का उपयोग करेगा यदि ऑटोडेट समर्थित नहीं है)।

डीकंप्रेसिंग के बाद, आपको फ़ाइल को खोलना होगा

 tar xf myfile.tar

एक टार फ़ाइल सिर्फ एक कंटेनर है, जिसमें आप कई संपीड़न एल्गोरिदम लागू कर सकते हैं, उदाहरण के लिए, आपके पास ".tar.gz" या ".tar.bz2" हो सकता है, जिसमें दोनों अलग-अलग संपीड़न एल्गोरिदम लागू होते हैं। इसलिए pbzip2 केवल आर्काइव को अनकैप्ड करेगा लेकिन यह फाइल्स को एक्सट्रैक्ट नहीं करेगा, फाइल्स tarको एक्सट्रैक्ट करने के लिए इस्तेमाल करेगा। टार को लंबे समय तक नहीं लेना चाहिए क्योंकि आर्काइव पहले से ही असम्पीडित है और यह सिर्फ फाइलों को निकालेगा। (ध्यान दें कि हम टार कमांड में 'z' फ्लैग या 'j' फ्लैग का उपयोग नहीं कर रहे हैं, जो यह दर्शाता है कि हम फाइल को डिकम्प्रेस करना चाहते हैं)


1
मैनुअल पेज के कुछ उपयोगी उदाहरण हैं: manpages.ubuntu.com/pbzip2
सवास राड्विक

@ उत्तर के लिए धन्यवाद - क्या आप उस टिप्पणी का जवाब देने में सक्षम होंगे जो मैंने दूसरे उत्तर पर छोड़ दी है
user784637

2

lbzip2 आपके मामले में pbzip2 से काफी बेहतर लगता है क्योंकि यह मानक .bz2 फ़ाइलों के अपघटन को गति देने में सक्षम है जबकि pbzip2 ऐसा नहीं करता है। (बस इसका परीक्षण किया - आंशिक रूप से भरी हुई क्वाड कोर पर pbzip2 के लिए lbzip2 बनाम 56 सेकंड के लिए 17 सेकंड)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.