लोग टारबॉल का उपयोग क्यों करते हैं?


90

मुख्य रूप से विंडोज डेवलपर के रूप में, शायद मैं लिनक्स समुदाय में कुछ सांस्कृतिक याद कर रहा हूं, लेकिन इसने मुझे हमेशा भ्रमित किया है।

कुछ डाउनलोड करते समय फ़ाइलों को पहले एक .tarसंग्रह में डाला जाता है, फिर ज़िप किया जाता है । दो-चरणीय प्रक्रिया क्यों? क्या zipping फ़ाइल समूहन को प्राप्त नहीं करता है ? क्या कुछ अन्य लाभ हैं जिनके बारे में मुझे जानकारी नहीं है?


3
आमतौर पर आप सिर्फ कम्प्रेशन को संयोजित करते हैं और एकल कमांड में ग्रुपिंग करते हैं। tar -zcf file.tar.gz कुछ फ़ाइल नाम
जुहा सिरजला

1
किसी ने उल्लेख नहीं किया कि 1000000 फाइलें w / आकार 1 बाइट को स्थानांतरित करना 1 फ़ाइल w / आकार 1000000 बाइट्स को स्थानांतरित करने की तुलना में अधिक महंगा है।
मिलो लामार

जवाबों:


137

bzipऔर gzipफ़ाइलों के समूह नहीं, एकल फ़ाइलों पर काम करते हैं। सादा पुराना zip(और pkzip) फाइलों के समूह पर काम करता है और इसमें निर्मित संग्रह की अवधारणा है।

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


2
तेजी से जवाब दिया, और मैंने किया था की तुलना में थोड़ा बेहतर - मुझे लगता है मैं काम पर वापस जाना होगा!
हार्पर शेल्बी

9
मैं आपको 4 मिनट से हराता हूं, और यह स्टैक ओवरफ्लो समय में एक अनंत काल है। :-)
स्टीवर्ट जॉनसन

1
यह ध्यान देने योग्य है कि टार और गज़िप दोनों ही अपने आप में उपयोगी हैं यही कारण है कि वे अलग हो गए हैं। पाइपों के कुछ चतुर उपयोग के साथ, मैंने एक बार SSH के ऊपर टैंपरिंग, ज़िपिंग और पाइपिंग करके एक कंप्यूटर से दूसरे में एक फोल्डर को स्थानांतरित किया, फिर गंतव्य पर अनज़िपिंग और अनरिंग किया। एक आदेश, कोई अस्थायी फ़ाइलें।
rmeador

1
आप यह भी कह सकते हैं कि वे चीजों को बदलने और संगतता को तोड़ने के बजाय, जो अच्छी तरह से काम करने के लिए सिद्ध हो गए हैं, के साथ चिपके रहते हैं। .tar.gz को तथाकथित आधुनिक उपकरणों और तकनीकों (कृपया रजिस्टर WinZip) की तरह परवाह किए बिना एक ही चरण में किया जा सकता है।
JeeBee

2
मुझे विश्वास नहीं हो रहा है कि किसी ने भी सवाल संपादित नहीं किया है, या tarअभिलेखागार का उपयोग करने के पूरे बिंदु (imo) का उल्लेख करते हुए एक टिप्पणी छोड़ दी है : लिनक्स फाइल सिस्टम अनुमति समर्थन । यदि आप एक डेबियन पैकेज डाउनलोड करते हैं, तो आपके पैकेज प्रबंधक ने इसे स्थापित किया, लेकिन निष्पादन योग्य कोई भी निष्पादन योग्य नहीं था, तो क्या होगा? ऐसा इसलिए है असली ); कारण है कि हर कोई tarballs का उपयोग करता है ...
JamesTheAwesomeDude

28

एक महत्वपूर्ण अंतर दो प्रकार के अभिलेखागार की प्रकृति में है।

TAR फाइलें कुछ हेडर के साथ फाइल कॉन्टेंट के कॉन्सेप्ट से थोड़ी ज्यादा होती हैं, जबकि gzip और bzip2 स्ट्रीम कंप्रेशर्स होते हैं, जो टारबॉल में, पूरे कॉन्टेनेशन पर लागू होते हैं।

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

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


Zip और tar + gzip के बीच अंतर के लिए धन्यवाद!
ल्यूक

1
"एक समग्र फ़ाइल को संपीड़ित करने" और "संपीड़ित फ़ाइलों को एकत्र करने" के बीच अंतर के लिए +1।
जेसी चिशोल्म

टार का कारण बेहतर संपीड़न अनुपात और ज़िप को दूसरी ओर अधिक लचीला होने की अनुमति है, इस तथ्य से समझाया गया है कि टार एक प्रकार का ठोस संपीड़न है जबकि ज़िप गैर-ठोस है।
गबोरस

@ बेरी, तो निष्कर्ष में कौन जीतता है? (यह मानते हुए कि हम आधुनिक OSes का उपयोग कर रहे हैं)
23

@Pacerier मुझे नहीं लगता कि कोई जीत है। ज़िप यादृच्छिक पहुंच के लिए और विंडोज पर लोगों द्वारा उपयोग के लिए बेहतर हैं। टारबॉल में लिनक्स और यूनिक्स पर बॉक्स संगतता अधिक है। टारबॉल में थोड़ा उच्च संपीड़न है लेकिन आपको कुछ भी एक्सेस करने के लिए पूरी चीज़ को डिकम्प्रेस करना होगा। दोनों मनमाने ढंग से संपीड़न एल्गोरिदम का समर्थन करते हैं, लेकिन टारबॉल के साथ मिश्रण और मैच करना बहुत आसान है। लक्ष्य के आधार पर, या तो बेहतर हो सकता है।
बैरी केली

26

यह अजीब है कि किसी और ने यह उल्लेख नहीं किया है कि GNU के आधुनिक संस्करण tarआपको बंडल करते समय संपीड़ित करने की अनुमति देते हैं:

tar -czf output.tar.gz directory1 ...

tar -cjf output.tar.bz2 directory2 ...

आप अपने चयन के कंप्रेसर का उपयोग भी कर सकते हैं, बशर्ते कि यह ' -c' (स्टडआउट या स्टड से) और ' -d' (डीकंप्रेस) विकल्पों का समर्थन करता है:

tar -cf output.tar.xxx --use-compress-program=xxx directory1 ...

यह आपको किसी भी वैकल्पिक कंप्रेसर को निर्दिष्ट करने की अनुमति देगा।

[ जोड़ा गया : यदि आप फ़ाइलों gzipया bzip2संपीड़ित फ़ाइलों से निकाल रहे हैं , तो GNU tarइनका पता लगाता है और उपयुक्त प्रोग्राम चलाता है। अर्थात्, आप उपयोग कर सकते हैं:

tar -xf output.tar.gz
tar -xf output.tgz        # A synonym for the .tar.gz extension
tar -xf output.tar.bz2

और इन्हें ठीक से संभाला जाएगा। यदि आप एक गैर-मानक कंप्रेसर का उपयोग करते हैं, तो आपको यह निर्दिष्ट करने की आवश्यकता है कि जब आप निष्कर्षण करते हैं।]

पृथक्करण का कारण, चयनित उत्तर के रूप में, कर्तव्यों का पृथक्करण है। अन्य बातों के अलावा, इसका मतलब है कि लोग cpioफाइलों की पैकेजिंग के लिए ' ' कार्यक्रम का उपयोग कर सकते हैं (इसके बजाय tar) और फिर पसंद के कंप्रेसर का उपयोग करें (एक समय में, पसंदीदा कंप्रेसर था pack, बाद में यह हुआ था compress(जो इससे कहीं अधिक प्रभावी था) pack), और फिर gzipजो अपने पूर्ववर्तियों के चारों ओर बजता है, और पूरी तरह से प्रतिस्पर्धी है zip(जो यूनिक्स में चित्रित किया गया है, लेकिन वहां मूल नहीं है), और अब bzip2जो, मेरे अनुभव में, आमतौर पर 10-20% का लाभ होता है gzip

[ जोड़ा गया : किसी ने अपने उत्तर में उल्लेख किया है कि cpioअजीब सम्मेलनों है। यह सच है, लेकिन जब तक जीएनयू tarको प्रासंगिक विकल्प (' -T -') नहीं मिला, cpioतब तक बेहतर आदेश था जब आप किसी दिए गए निर्देशिका के तहत सब कुछ संग्रह नहीं करना चाहते थे - आप वास्तव में चुन सकते थे कि कौन सी फाइलें संग्रहीत की गई थीं। का नकारात्मक पहलू cpioआप न केवल कि था सकता है फ़ाइलें चुनें - आप था उन्हें चुनने के लिए। वहाँ अभी भी एक जगह है जहाँ cpioस्कोर; यह एक इन-सीटू कॉपी को एक निर्देशिका पदानुक्रम से दूसरे में किसी भी मध्यवर्ती भंडारण के बिना कर सकता है:

cd /old/location; find . -depth -print | cpio -pvdumB /new/place

संयोग से, इस संदर्भ में ' -depth' विकल्प findमहत्वपूर्ण है - यह निर्देशिकाओं की अनुमतियों को स्वयं निर्धारित करने से पहले निर्देशिकाओं की सामग्री की प्रतिलिपि बनाता है। जब मैंने इस उत्तर के अलावा प्रवेश करने से पहले कमांड की जाँच की, तो मैंने कुछ रीड-ओनली डायरेक्ट्रीज़ (555 अनुमति) की प्रतिलिपि बनाई; जब मैं कॉपी को हटाने गया, तो मुझे ' rm -fr /new/place' समाप्त होने से पहले निर्देशिकाओं की अनुमतियों को शिथिल करना पड़ा । -depthविकल्प के बिना , cpioकमांड विफल हो जाती। मुझे केवल यह याद है जब मैं सफाई करने के लिए गया था - सूत्र ने कहा कि मेरे लिए स्वचालित है (मुख्य रूप से कई वर्षों में कई पुनरावृत्तियों के आधार पर)। ]


एक विस्तारित ज़िप प्रारूप प्लग-इन स्ट्रीम कंप्रेशर्स को टीएआर जितना ही समायोजित कर सकता है, लेकिन एक उपयुक्त आईपीसी प्रोटोकॉल के बिना यह सबप्रोसेस के अत्यधिक निष्पादन के कारण धीमा हो सकता है।
बैरी केली

मेरा गोटो कमांड: tar -xfvz tarpkg.tar.gz (z को bz2 संपीड़ित अभिलेखागार के लिए aj के साथ बदलें)
ब्रायन रेहबिन

1
@Redbeard: tar auto-detz gzip and bzip2 on extract - बनाने के लिए, आपको यह बताना होगा कि क्या करना है, लेकिन मैं सिर्फ -xf (या -xvf) और टार फ़ाइल नाम का उपयोग करता हूं।
जोनाथन लेफ्लर

15

मजेदार बात यह है कि, आप के रचनाकारों द्वारा प्रत्याशित नहीं व्यवहार प्राप्त कर सकते हैं tarऔर gzip। उदाहरण के लिए, आप न केवल एक टार फ़ाइल को gzip कर सकते हैं, आप एक उत्पन्न करने के लिए files.gz.tar(यह तकनीकी रूप से pkzipकाम करने के तरीके के करीब होगा) , gzipped फ़ाइलों को भी टार नहीं कर सकते हैं । या आप पाइप लाइन में एक और कार्यक्रम डाल सकते हैं, उदाहरण के लिए कुछ क्रिप्टोग्राफी, और आप टारिंग, जिपिंग और एन्क्रिप्टिंग का एक मनमाना आदेश चुन सकते हैं। जिसने भी क्रिप्टोग्राफी कार्यक्रम लिखा है, उसे इस बात का जरा भी अंदाजा नहीं है कि उसके कार्यक्रम का उपयोग कैसे किया जाएगा, उसे बस इतना करना है कि वह मानक इनपुट से पढ़े और मानक आउटपुट पर लिखे।


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

8

यूनिक्स दुनिया में, अधिकांश एप्लिकेशन को एक काम करने के लिए डिज़ाइन किया गया है, और यह अच्छी तरह से करता है। Unix, gzip और bzip2 में सबसे लोकप्रिय ज़िप उपयोगिताओं, केवल फ़ाइल संपीड़न करते हैं। टार फाइल कॉन्टेक्ट करता है। सॉफ्टवेयर के किसी भी टुकड़े में अत्यधिक जटिलता को जोड़े बिना, एक संपीड़न उपयोगिता में टार के उत्पादन को पाइपिंग की आवश्यकता होती है।


7

एक और कारण यह प्रचलित है कि टार और गज़िप लगभग पूरे * NIX बेस बेस पर हैं। मेरा मानना ​​है कि यह शायद सबसे बड़ा कारण है। ऐसा इसलिए भी है कि विंडोज पर जिप फाइलें बेहद प्रचलित हैं, क्योंकि RAR या 7z में बेहतर रूटीन की परवाह किए बिना, समर्थन बनाया गया है।

GNU टार आपको इन फ़ाइलों को एक कमांड (एक चरण) से बनाने / निकालने की अनुमति देता है:

  • एक संग्रह बनाएँ:
  • tar -cfvj destination.tar.bz2 *.files
  • tar -cfvz destination.tar.gz *.files

  • एक संग्रह निकालें: (-C भाग वैकल्पिक है, यह वर्तमान निर्देशिका में चूक करता है)

  • tar -xfvj archive.tar.bz2 -C destination_path
  • tar -xfvz archive.tar.gz -C destination_path

ये वे हैं जो मैंने लिनक्स पर अपने कई वर्षों से और हाल ही में नेक्सेंटा (ओपनसोलारिस) पर मेमोरी के लिए प्रतिबद्ध हैं।


3
दरअसल, यह दूसरा तरीका है: ज़िप अब विंडोज में बनाया गया है क्योंकि यह डॉस और विंडोज के शुरुआती संस्करणों में प्रचलित था।
क्रिश्चियन Lescuyer

मैं विंडोज पर RAR, Linux पर tar.bz2 का उपयोग करना पसंद करता हूं
ओसामा अल-मादेद

आप अजीब नोट कर सकते हैं (गेटटॉप के साथ संगत नहीं) (पार्सिंग) विकल्प पार्सिंग, और डैश वैकल्पिक है क्योंकि टार पूर्व-यूनिक्स कमांड विकल्पों के मानक सम्मेलनों को पूर्व-तारीख करता है।
जोनाथन लेफ्लर

5

मुझे लगता है कि आप इसके लिए अधिक ऐतिहासिक संदर्भ की तलाश कर रहे थे। मूल ज़िप एकल फ़ाइल के लिए थी। टार का उपयोग कई फाइलों को एक फाइल में रखने के लिए किया जाता है। इसलिए टाररिंग और जिपिंग दो चरण की प्रक्रिया है। आज भी यह इतना हावी क्यों है किसी का अनुमान नहीं है।

तार_ के लिए विकिपीडिया से (file_format)

कंप्यूटिंग में, टार (टेप संग्रह से प्राप्त) दोनों एक फ़ाइल प्रारूप है (एक प्रकार का संग्रह बिटस्ट्रीम के रूप में) और ऐसी फ़ाइलों को संभालने के लिए उपयोग किए जाने वाले प्रोग्राम का नाम। प्रारूप को POSIX.1-1988 और बाद में POSIX.1-2001 द्वारा मानकीकृत किया गया था। प्रारंभ में एक कच्चे प्रारूप के रूप में विकसित किया गया था, जिसका उपयोग टेप बैकअप और बैकअप प्रयोजनों के लिए अन्य अनुक्रमिक एक्सेस उपकरणों के लिए किया जाता था, अब इसे आमतौर पर फाइल सिस्टम की जानकारी को उपयोगकर्ता या समूह के रूप में संरक्षित करते हुए वितरण या संग्रह के लिए फ़ाइलों को एक बड़ी फ़ाइल में समेटने के लिए उपयोग किया जाता है। अनुमतियाँ, दिनांक और निर्देशिका संरचनाएँ।


4

टार UNIX है क्योंकि UNIX टार है

मेरी राय में आज भी इसका उपयोग करने का कारण tarयह है कि यह (शायद दुर्लभ) मामलों में से एक है, जहां यूनिक्स दृष्टिकोण अभी शुरू से ही पूरी तरह से सही है।

अभिलेखागार बनाने में शामिल चरणों पर करीब से नज़र डालने से मुझे आशा है कि आप सहमत होंगे कि जिस तरह से विभिन्न कार्यों का पृथक्करण यहां होता है वह UNIX दर्शन है

  • एक उपकरण ( tarइसे यहां एक नाम देने के लिए) सभी प्रासंगिक मेटा-डेटा जैसे फ़ाइलों, निर्देशिकाओं और प्रतीकात्मक लिंक के किसी भी चयन को बदलने में विशेष है , जैसे टाइमस्टैम्प, मालिकों और अनुमतियों को एक बाइट स्ट्रीम में।

  • और बस एक और मनमाने ढंग से विनिमेय उपकरण ( gzip bz2 xzकेवल कुछ विकल्पों को नाम देने के लिए) जो बाइट्स के किसी भी इनपुट स्ट्रीम को दूसरे (उम्मीद) छोटे आउटपुट स्ट्रीम में बदल देता है।

इस तरह के और दृष्टिकोण का उपयोग करने से उपयोगकर्ता को और साथ ही डेवलपर को पूरे लाभ मिलते हैं:

  • एक्स्टेंसिबिलिटी किसी भी कम्प्रेशन अल्गोरिद्म के tarसाथ जोड़े जाने की वजह से पहले से मौजूद या किसी भी कम्प्रेशन अल्गोरिथम को अभी भी विकसित किया जा सकता है, बिना इन सब के अंदरूनी कामकाज पर कुछ भी बदलाव किए बिनाtar

    जैसे ही सभी ब्रांड के नए "हाइपर-जिप-यूट्रा" या व्हायर कम्प्रेशन टूल सामने आते हैं, आप अपने नए नौकर को पूरी शक्ति के साथ गले लगाने के लिए पहले से ही तैयार हैं tar

  • tar80 के दशक की शुरुआत से ही स्थिरता का भारी उपयोग हो रहा है और कई ऑपरेटिंग सिस्टम और मशीनों पर चलाया जा रहा है।

    हर नए संग्रह उपकरण के लिए बार-बार स्वामित्व, अनुमतियाँ, टाइमस्टैम्प और इसी तरह के भंडारण को लागू करने में पहिया को सुदृढ़ करने की आवश्यकता को रोकना न केवल विकास में बहुत अधिक (अन्यथा अनावश्यक रूप से खर्च किए गए) समय बचाता है, बल्कि हर विश्वसनीयता के लिए समान विश्वसनीयता की गारंटी देता है नया आवेदन।

  • संगति उपयोगकर्ता इंटरफ़ेस बस हर समय एक ही रहता है।

    यह याद रखने की कोई आवश्यकता नहीं है कि टूल ए का उपयोग करके अनुमतियों को पुनर्स्थापित करने के लिए आपको विकल्प --i-hope-you-rember-this-oneबी पास करना होगा और टूल बी का उपयोग --this-time-its-another-one करते समय आपको टूल सी का उपयोग करना होगा `-होप-यू -डॉट-ट्राई-विथ-टूल-ए-स्विच।

    जबकि उपकरण डी का उपयोग करने में यदि आप उपयोग नहीं करते हैं तो आपने इसे वास्तव में गड़बड़ कर दिया होगा --if-you-had-used-tool-bs-switch-your-files-would-have-been-deleted-now


3

टार ज्यादातर ऐतिहासिक कारणों से लोकप्रिय है। कई विकल्प आसानी से उपलब्ध हैं। उनमें से कुछ लगभग लगभग लंबे समय तक टार के रूप में हैं, लेकिन कई कारणों से लोकप्रियता में टार को पार नहीं कर सके।

  • cpio (विदेशी वाक्यविन्यास; सैद्धांतिक रूप से अधिक सुसंगत, लेकिन लोग जो जानते हैं, उसे पसंद करते हैं)
  • ar (एक लंबे समय से पहले लोकप्रिय, अब लाइब्रेरी फ़ाइलों को पैक करने के लिए उपयोग किया जाता है)
  • शार्प (सेल्फ एक्स्ट्रेक्टिंग शेल स्क्रिप्ट्स, सभी तरह के मुद्दे थे; लोकप्रिय होने के लिए इस्तेमाल किया जाता है कभी कम नहीं)
  • ज़िप (लाइसेंस के मुद्दों के कारण यह कई यूनियनों पर आसानी से उपलब्ध नहीं था)

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

जाहिरा तौर पर tar.gz (या उस मामले के लिए ar.Z) का एक नकारात्मक पहलू, जो यह है कि आपको एकल फ़ाइलों को निकालने और संग्रह सामग्री को सूचीबद्ध करने के लिए पूरे संग्रह को अनकम्प्रेस्ड करना होगा, कभी भी लोगों को चोट नहीं पहुंचानी चाहिए ताकि उन्हें महत्वपूर्ण संख्याओं में टार से दोष हो सके। ।


टार के पुराने संस्करणों में हेडर की जानकारी नहीं थी; टार के नए (POSIX- संगत, USTAR) संस्करण (जैसे GNU टार) करते हैं। 'फ़ाइल' कमांड इसे समझता है।
जोनाथन लेफ़लर

2

gzip और bzip2 केवल एक कंप्रेसर है, न कि एक अभिलेखीय-सॉफ्टवेयर। इसलिए, संयोजन। आपको सभी फ़ाइलों को बंडल करने के लिए टार-सॉफ़्टवेयर की आवश्यकता है।

ज़िप ही, और RAR aswell दो प्रक्रियाओं का एक संयोजन है।


2

आमतौर पर * नक्स दुनिया में, फाइलों के बंडलों को टारबॉल के रूप में वितरित किया जाता है और फिर वैकल्पिक रूप से gzipped किया जाता है। Gzip एक साधारण फ़ाइल कम्प्रेशन प्रोग्राम है जो फ़ाइल को टारलिंग या zip करने वाले बंडल को नहीं करता है।

एक समय पर, ज़िप ने कुछ चीजों को ठीक से नहीं संभाला था, जो कि यूनिक्स टार और यूनिक्स फाइल सिस्टम को सामान्य माना जाता था, जैसे कि सिर्लिंक, मिश्रित केस फाइलें, आदि। मुझे नहीं पता कि यह बदल गया है, लेकिन यही कारण है कि हम टार का उपयोग करते हैं।


1
* nux - Linux, Unux, Solarnux?
मैकेनिक

1
@ मैकनेयर - पॉसक्स मत भूलना। :-)
पॉल टॉम्बलिन

1
@ मैकनेयर - या वह पॉसनेक्स होना चाहिए?
पॉल टॉम्बलिन

1

Tar = समूह फ़ाइलों को 1 फ़ाइलों में

GZip = फ़ाइल को ज़िपित करें

उन्होंने इस प्रक्रिया को 2 में विभाजित किया। यह वही है।

Windows environnement में जो आप WinZip या WinRar का उपयोग करने के लिए अधिक उपयोग किया जा सकता है जो एक ज़िप करते हैं। इन सॉफ़्टवेयर की ज़िप प्रक्रिया फ़ाइल को समूहित करती है और ज़िप करती है लेकिन आप बस उस प्रक्रिया को नहीं देखते हैं।


3
यह सबसे अच्छा विवरण नहीं है, यह देखते हुए कि "ज़िप" फाइलें ओपी का उपयोग विंडोज में किया जाता है, पहले से ही समूहीकरण को शामिल करता है।
गैरेथ

1

उसी कारण से मैक उपयोगकर्ता डिस्क छवियों को क्यों पसंद करते हैं: वे सामान संग्रह करने के लिए एक बहुत ही सुविधाजनक तरीका है और फिर इसे चारों ओर से, ऊपर-डाउनलोड / डाउनलोड करें या इसे ईमेल करें आदि।

और उपयोग करने में आसान और ज़िप IMHO की तुलना में अधिक पोर्टेबल है।


1

मेरे Altos-XENIX दिनों (1982) में हमने 5 1/4 फ्लॉपी या स्ट्रीमिंग टेप के साथ-साथ इन मीडिया पर कॉपी करने के लिए फ़ाइलों को निकालने के लिए टार (टेप आर्चिवर) का उपयोग करना शुरू कर दिया। यह कार्यक्षमता BOSUP.EXE और RESTORE.EXE कमांड DOS 5.0 और 6.22 में पूरक के रूप में बहुत समान है, यदि आप इसे केवल एक में फिट नहीं कर सके, तो कई मीडिया को फैला सकते हैं। दोष यह था कि यदि कई मीडिया में से किसी एक को समस्या थी, तो पूरी बात बेकार थी। टार्क और dd की शुरुआत UNIX SYstem III से हुई है और यह UNIX जैसे OS के साथ मानक रिलीज उपयोगिता बन गया है।


0

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

बाद में, संपीड़न कार्यक्रम आए, और * निक्स में अभी भी केवल एक ही फाइल बनाने की एक विधि थी जिसमें कई फाइलें थीं।

मेरा मानना ​​है कि यह सिर्फ जड़ता है जो टारगेज प्रवृत्ति के साथ जारी है। Pkzip को कंप्रेशन और आर्काइव दोनों के साथ शुरू किया गया था, एक झपट्टा मारा गया था, लेकिन तब DOS सिस्टम में आमतौर पर टेप ड्राइव संलग्न नहीं थे!

तार_ के लिए विकिपीडिया से (file_format)

कंप्यूटिंग में, टार (टेप संग्रह से प्राप्त) दोनों एक फ़ाइल प्रारूप है (एक प्रकार का संग्रह बिटस्ट्रीम के रूप में) और ऐसी फ़ाइलों को संभालने के लिए उपयोग किए जाने वाले प्रोग्राम का नाम। प्रारूप को POSIX.1-1988 और बाद में POSIX.1-2001 द्वारा मानकीकृत किया गया था। प्रारंभ में एक कच्चे प्रारूप के रूप में विकसित किया गया था, जिसका उपयोग टेप बैकअप और बैकअप प्रयोजनों के लिए अन्य अनुक्रमिक एक्सेस उपकरणों के लिए किया जाता था, अब इसे आमतौर पर फाइल सिस्टम की जानकारी को उपयोगकर्ता या समूह के रूप में संरक्षित करते हुए वितरण या संग्रह के लिए फ़ाइलों को एक बड़ी फ़ाइल में समेटने के लिए उपयोग किया जाता है। अनुमतियाँ, दिनांक और निर्देशिका संरचनाएँ।


सख्ती से टार एक फ़ाइल स्वरूप है - यह सिर्फ यूनिक्स टेप पर एक और फ़ाइल है।
मार्टिन बेकेट

वास्तव में, टार के साथ शुरू करने के लिए एक फ़ाइल प्रारूप नहीं था। टेप में फ़ाइल सिस्टम नहीं था, इसलिए फ़ाइल सिस्टम नहीं होने के कारण पैच को पैच के रूप में बनाया गया था।
किवेलि

0

एक विंडोज डेवलपर के रूप में यह समझ में आता है कि टारबॉल कैसे अजीब लगता है। यह शब्द tarटेप आर्काइव के लिए है। रील-रील-रील टेप रिकार्डर के बारे में सोचें।

विंडोज में दुनिया के कार्यक्रमों को आम तौर पर एक setup.exeया एक install.exeरजिस्ट्री के साथ सभी प्रकार के विजार्ड्री में स्थापित किया जाता है, निर्देशिकाएं बनाकर .dll(डायनामिक लिंक लाइब्रेरी) फाइलें।

लिनक्स में, उबंटू विशेष रूप से मेरे स्वयं के अनुभव से, पैकेज मैनेजर एक आवेदन लेने और इसे ज्यादातर समय स्थापित करने का ध्यान रखते हैं । उबंटू में डेवलपर एक पैकेज बनाता है जो समाप्त होता है .deb(डेबियन, जो उबंटू आधारित है)। एक स्थापित करने के लिए मूल वाक्यविन्यास .debहै:

sudo apt install <package_name>

हालांकि यह एक उपयोगकर्ता के लिए अपेक्षाकृत सीधे आगे है, यह डेवलपर्स के लिए .debपैकेज बनाने और पीपीए को जोड़ने के लिए बहुत काम है ।

डेवलपर्स के लिए एक आसान तरीका टारबॉल बनाना है। फिर स्थापना का बोझ एंड-यूज़र द्वारा साझा किया जाता है। उनको जरूर:

  • टारबॉल डाउनलोड करें (आमतौर पर समाप्त होता है .tar.gz)।
  • एक निर्देशिका के लिए decompress स्रोत कोड।
  • स्रोत कोड संकलित करें (लाभ की दुनिया के लिए विंडोज में अनसुना)।
  • उम्मीद है कि भविष्य में वे दोहराए जाने की आवश्यकता है, क्योंकि भविष्य में उन्हें दोहराने की आवश्यकता है क्योंकि कोई aptडेटाबेस नहीं है (विंडोज स्थापित कार्यक्रमों की सूची) जो बैकअप किया जा सकता है।

जैसा कि एक अन्य उत्तर पहले से ही आपके द्वारा पूछे गए एक अन्य प्रश्न पर कहता है, आप एक ही समय में एक टारबॉल और सेक डेटा बना सकते हैं। एक दो पास की प्रक्रिया की आवश्यकता नहीं है।

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