Linux स्रोत कोड की पैकेजिंग के लिए मानक कब बने .tar.gz?


29

ओपन-सोर्स प्रोजेक्ट ब्राउज़ करते समय जो मुख्य रूप से लिनक्स सिस्टम के लिए विकसित किए जाते हैं और नवीनतम पैकेज डाउनलोड करते हैं, स्रोत कोड हमेशा .tar.gz या .tar.bz2 फ़ाइल में संग्रहीत होता है।

क्या .zt या .arz या .rar या कुछ अन्य कम्प्रेशन अल्गोरिद्म की बजाय .tar.gz या .tar.bz2 का उपयोग करने का कोई कारण है (या यदि परियोजना काफी छोटी है तो इसे असम्पीडित छोड़ देना)?


3
आप कहां ब्राउज़ कर रहे हैं इन दिनों अधिकांश परियोजनाएं वीसीएस रिपॉजिटरी यूआरएल के रूप में अपने स्रोत कोड को वितरित करती हैं, और जब वे अभिलेखागार देते हैं तो यह आमतौर पर .ZZ रूप में होता है। TGZ दशकों से अप्रचलित है (कुछ अप्रिय लोगों के संदेश प्राप्त करने से इनकार करने के बावजूद) और मैंने लंबे समय में इसका उपयोग करते हुए कोई भी परियोजना नहीं देखी है ...
मेसन व्हीलर

4
लिनक्स, जिप और रार तब भी मौजूद नहीं था जब tar(यानी, टेप आर्काइवेर) पहले से ही एक मानक डी फैक्टो था।
SK- तर्क

19
@ मेसन व्हीलर: "अप्रचलित" को परिभाषित करें। एक प्रारूप अप्रचलित नहीं है जब तक लोग इसे उपयोगी पाते हैं और इसका उपयोग करते रहते हैं। मुझे लगता है कि tar + gz काम करता है और दूसरे प्रारूप में स्विच करना कई मामलों में सिर्फ स्वाद का मामला है। एक्लिप्स ( eclipse.org ) जैसे प्रोजेक्ट अभी भी इसका उपयोग करते हैं।
जियोर्जियो

3
@MasonWheeler, ftp.gnu.orgउदाहरण के लिए, चारों ओर ब्राउज़ करें । यह वह सामान है जिस पर पूरा इंटरनेट बनाया गया है। और, मुझे आशा है, हर कोई इस बात से सहमत होगा कि जिप वैसे भी तकनीकी रूप से हीन है।
एसके-लॉजिक

5
@MasonWheeler और अन्य। सिर्फ इसलिए कि टार में टेप आर्काइव है, इसके नाम से यह अप्रचलित नहीं है। हर कोई जानता है कि मैं * निक्स / बीएसडी दुनिया में टार का उपयोग करता है और उपयोग करता है। ज़िप अपेक्षाकृत दुर्लभ है। वास्तव में, जब मैं एक ज़िप फ़ाइल देखता हूं तो मैं लगभग हमेशा सवाल करता हूं कि क्या यह केवल विंडोज का संग्रह है।
रोब

जवाबों:


31

हेडिंग में प्रश्न का उत्तर देने के लिए: tar.gz / tar.bz2 लिनक्स स्रोत कोड को वितरित करने के लिए मानक बन गया है बहुत लंबे समय पहले, साथ ही 2 दशकों में, और शायद कुछ और। गौरतलब है कि इससे पहले भी लिनक्स अस्तित्व में आया था।

वास्तव में, टार (टी) एप (आर) चाइव के लिए खड़ा है। लगता है कि रील मुश्किल है, और आपको एक विचार मिलेगा कि यह कितना पुराना है। बा-डम-टक्कर।

इससे पहले कि लोग सीडी बर्नर रखते थे, 1.44Mb फ्लॉपी डिस्क पर सॉफ्टवेयर के डिस्ट्रोस को बाहर रखा गया था। संकुचित टार फ़ाइल को splitकमांड द्वारा फ्लॉपी-आकार के टुकड़ों में काट दिया गया था , और इन टुकड़ों को टारबॉल कहा जाता था । आप उनके साथ वापस शामिल होंगे catऔर संग्रह को निकालेंगे।

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

PKZip में कई संपीड़न एल्गोरिदम मूल निर्माता के लिए मालिकाना हैं, और अंतिम एक को डॉस / विंडोज वर्जन में जोड़ा गया था जो कि डिफ्लेट (RFC 1951) था, जिसने Implode की तुलना में थोड़ा बेहतर प्रदर्शन किया, वहां मालिकाना अहंकार जिसने सबसे अच्छा सामान्य संपीड़न का उत्पादन किया । Gzip Deflate एल्गोरिथ्म का उपयोग करता है।

RAR संपीड़न एल्गोरिथ्म मालिकाना है, लेकिन एक नहीं है के लिए खेलो decompressor का खुला स्रोत कार्यान्वयन। RARlab से RAR और WinRAR की आधिकारिक रिलीज़ मुफ्त नहीं है ।

गज़िप डीफ़ल्ट एल्गोरिथ्म का उपयोग करता है, और इसलिए पीकेज़िप से भी बदतर नहीं है। Bzip2 से थोड़ा बेहतर संपीड़न अनुपात प्राप्त होता है।

TL; DR संस्करण:

tar.gz और tar.bz2 यूनिक्स से हैं, इसलिए यूनिक्स लोग उनका उपयोग करते हैं। ज़िप और RAR DOS / Windows दुनिया से हैं, इसलिए DOS / Windows लोग इनका उपयोग करते हैं। tarकई दशकों से सामानों को * निक्स में बाँधने का मानक है।


1
कुछ स्पष्टीकरण: ओपन-सोर्स RAR कार्यान्वयन RARlab की अपनी खुला स्रोत पर आधारित होते हैं decompressor । यह सबसे अन्य कंप्रेशर्स की तुलना में काफी नया है, पहले से अधिक लोकप्रिय एसीई, एआरजे, और एआरसी के बाद विंडोज पर पहली बार दिखाई दे रहा है, जो प्रत्येक में दूसरों को विस्थापित करने के रूप में याद करते हैं। जिनमें से कोई भी वास्तव में यूनिक्स पर अपेक्षाकृत हाल ही में दिखाई नहीं दिया।
ग्रेफेड

छोटा सुधार: RAR एल्गोरिथ्म खुला नहीं है: fedoraproject.org/wiki/Licensing:Unrar?rd=Licensing/Unrar
स्वेन स्लोटवेग

16

मुझे पता नहीं है कि कब, लेकिन मुझे लगता है कि इसका उपयोग करने के कारण का एक संयोजन है: टार पारंपरिक (यह बहुत पुराना है); एक कमांड लाइन से आसान प्रबंधन; टार संरक्षण फ़ाइल सिस्टम जानकारी है कि ज़िप या RAR नहीं हो सकता है; और दो पास की प्रक्रिया का मतलब है कि संपीड़न अधिक कुशल है (कई छोटी फ़ाइलों की तुलना में बेहतर एक बड़ी फ़ाइल को संपीड़ित करना)।

bzip2 (.bz2) gzip (.gz) को विस्थापित करता हुआ प्रतीत होता है क्योंकि यह बेहतर संपीड़न प्रदान करता है, उसी प्रकार से जो कि gzip स्वयं पहले के कंप्रेस (.Z) को विस्थापित करता है।


3
और xz (LZMA) bzip2 को विस्थापित करता प्रतीत होता है जहाँ संपीड़न अनुपात मायने रखता है ( .xz फाइलें gzip से 30% छोटी हैं )। गज़िप शायद उन सबमें सबसे तेज़ है।
सस्तानिन

8

संक्षेप में, संग्रह करना और संपीड़ित करना दो अलग-अलग कार्य हैं। Tar.gz बहुत स्पष्ट रूप से इरादे को दर्शाता है: एक .zip या .rar जबकि एक संपीड़ित संग्रह केवल कुछ संपीड़ित सामान दिखाता है।


5

tarयूनिक्स में पारंपरिक है, यह फाइलों को जोड़ती है, लेकिन जरूरी नहीं कि उन्हें संकुचित करें। उन्हें .g या .bz या .b2 से कम्पेयर करना उतना ही आसान है।

Zipऔर rarविंडोज की दुनिया में औचित्य और अधिक सामान्य हैं


आह हाँ, मेरा सवाल पर्याप्त विशिष्ट नहीं था। मैं ज्यादातर लिनक्स / यूनिक्स कोड के बारे में बात कर रहा था।
जो जेड।

4
+1 - लेकिन कुछ समय पहले जिप का मालिकाना होना बंद हो गया।
बिली ओनेल

हां, जिप का एक सबसेट अब एक मानक है: iso.org/iso/home/store/catalogue_tc/…
rogerdpack

4

यह पारंपरिक, सर्वव्यापी है, और यह काम करता है। प्लस मुझे लगा कि यह कुछ हद तक स्पष्ट था।

अद्यतन करें

मेरी क्षमा याचना, मैं भूल जाता हूं कि अधिकांश लोग विषम परिस्थितियों में एक प्रशासक के रूप में जो मुझे जानते हैं या अनुभव करते हैं वह नहीं जानते हैं।

एक रिवाज या प्रथा के रूप में परंपरा समय के साथ निगली जाती है। हम जानते हैं कि इसका इतिहास में आधार है क्योंकि टार से प्राप्त होता है टेप आर्किव पुराने टेप बैकअप तकनीक का संदर्भ देता है। इसका 7 वें संस्करण यूनिक्स में 1979 में वापस लाए गए विभिन्न यूनिक्स ऑपरेटिंग सिस्टमों में एक लंबा इतिहास रहा है जहां इसने tp को बदल दिया। लिनक्स सिस्टम आमतौर पर लिनक्स कर्नेल और GNU सॉफ्टवेयर का एक समामेलन होता है, जिसमें GNU टार का एक हिस्सा होता है। यह सभी टार इतिहास का मतलब है कि अधिकांश अनुभवी तकनीकी लोग जानते हैं कि इसका उपयोग कैसे करना है, क्योंकि इसे दस्तावेज का उल्लेख किए बिना इसका उपयोग किया जाता है क्योंकि यह बाधित है। नए उपयोगकर्ताओं के लिए बहुत सारे दस्तावेज हैं क्योंकि सॉफ्टवेयर इतने लंबे समय से आसपास है।

हर जगह दिखने या पाए जाने के रूप में सर्वव्यापी । कुछ हद तक स्वीकृत दुरुपयोग वह है जहाँ उपस्थिति सार्वभौमिक नहीं है, लेकिन जनसंख्या के बड़े प्रतिशत में सर्वव्यापी के रूप में स्वीकार किया जाना है। 7 वां संस्करण यूनिक्स सन ओएस / सोलारिस, एआईएक्स, एचपीयूएक्स, एआईएक्स, बीएसडी, आदि सहित यूनिक्स के सबसे बड़े संस्करणों का पूर्वज हैयूनिक्स पर टार के विभिन्न कार्यान्वयनों के पार उच्च-अनुकूलता भी है । चूंकि MacOS (OS 10 के बाद से) BSD पर आधारित है, इसलिए इसमें टार भी है। लिनक्स GNU सॉफ्टवेयर का उपयोग करता है जिसमें GNU Tar शामिल है इसलिए लिनक्स के सभी स्वादों पर टार उपलब्ध है। और, जबकि उपलब्ध नहीं अंतर्निहित रूप में cygwin और के माध्यम से जीएनयू राल सहित उपलब्ध टार के कई प्रयोगों विंडोज पर देखते हैं मूल रूप से। विशेष रूप से जीएनयू टार अधिकांश यूनियनों और विंडोज पर उपलब्ध है, जो इसे ओएसिस में फाइल माइग्रेशन के लिए अच्छा विकल्प बनाता है।

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


5
सभी उचित सम्मान के साथ, यह उत्तर छोटा, सरल है, और यह ... किसी तरह मेरे लिए काम नहीं करता है
gnat

5
... 1) "पारंपरिक" सॉफ्टवेयर विकास में शून्य से कम भार वहन करता है; अन्यथा हम सभी पंच कार्डों का उपयोग करके IBM-360 पर COBOL कोडिंग करेंगे; कह "यह पारंपरिक है" कुछ भी नहीं बताता है ...
gnat

5
... 2) "सर्वव्यापी" ... सचमुच? एक बात जो मैंने देखी जब यूनिक्स से विंडोज में स्विच किया गया, यह है कि कोई भी टार का उपयोग नहीं कर रहा था और इसके बिना सब कुछ ठीक चल रहा था। जब, कई वर्षों के सुखद कोडिंग के बाद, मैं एक बार टार की जरूरत में बदल गया, तो मुझे इसका विंडोज संस्करण खोजने में काफी समय लगा। यह सर्वव्यापी है? मुझे छुट्टी दे दो ...
gnat

4
... 3) "यह काम करता है" - यह बताए बिना कि यह किस तरह का काम है और टार द्वारा क्यों किया जाता है, यह सिर्फ हाथ लहराता है। यह बहुत समय पहले था लेकिन मुझे तब भी याद था जब मैंने टार के बारे में सीखा था। उपयोगिता जो संपीड़ित नहीं होती है वह मेरे लिए बेकार है। बेशक, मुझसे गलती हुई थी, लेकिन अगर फिर से कोई मुझे एक शब्द के बयान के साथ "शिक्षित" करने की कोशिश करेगा, जैसे कि यह काम करता है तो मुझे लगता है कि "नहीं, यह हस्तमैथुन करता है" ...
gnat

4
... सारांश, यह शून्य प्रयास, विशुद्ध रूप से राय वाले उत्तर में स्पष्टीकरण और संदर्भ का अभाव है। किए गए विवरणों को न तो समझाया गया है और न ही किसी भी चीज़ का समर्थन किया गया है। सामान्य रूप से सामान्यीकृत शब्द का अर्थ केवल इस बात को दोहराना प्रतीत होता है कि इसका उत्तर देने के बजाय पूछे गए प्रश्न में क्या कहा गया था ।
gnat
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.