जैसा कि कई उत्तरदाताओं ने कहा, यह इतना अधिक नहीं है कि एक निश्चित पैकेज प्रारूप स्पष्ट रूप से बेहतर है। तकनीकी रूप से, वे कम या ज्यादा तुलनीय हो सकते हैं। मेरे दृष्टिकोण से बहुत सारे मतभेद हैं, और लोग एक-दूसरे को क्यों पसंद करते हैं, इसके साथ क्या करना है:
- मूल पैकेज डिजाइन और लक्ष्य दर्शकों के दर्शन
- सामुदायिक आकार, और विस्तार से, रिपॉजिटरी की गुणवत्ता और समृद्धि
दर्शन:
उबंटू / डेबियन / टकसाल / ... दुनिया में, उपयोगकर्ता स्थापित होने पर "बस काम" करने के लिए स्थापित पैकेज की अपेक्षा करते हैं। इसका मतलब यह है कि स्थापना के दौरान, पैकेजों से अपेक्षा की जाती है कि वे वास्तव में उन्हें अच्छी तरह से चलाने के लिए आवश्यक सभी चीजों का ध्यान रखें, जिसमें शामिल नहीं हैं:
- जरूरत या वैकल्पिक क्रोन नौकरियों की स्थापना
- विकल्प / उपनाम सेट करना
- स्टार्टअप / शटडाउन स्क्रिप्ट सेट करना
- चूक के साथ सभी आवश्यक कॉन्फ़िगरेशन फ़ाइलों को शामिल करें जो समझ में आता है
- पुस्तकालयों के पुराने संस्करणों को रखना और पिछड़े अनुकूलता के लिए पुस्तकालयों (.so) के लिए सही संस्करण वाले सिमिलिंक जोड़ना
- एक ही मशीन और इतने पर बहु-आर्च (32 और 64 बिट) बायनेरिज़ के लिए स्वच्छ समर्थन।
आरपीएम दुनिया में - माना जाता है कि यह कई साल पहले की स्थिति थी, और तब से इसमें सुधार हो सकता है - मैंने पाया कि अतिरिक्त कदम चलाने के लिए खुद को (जैसे कि चकोन्फिग, क्रॉन जॉब्स को सक्षम करना) वास्तव में पैकेज बनाने के लिए वास्तव में काम करना है। यह सीसडैमिन या उन लोगों के लिए ठीक हो सकता है जो यूनिक्स के बारे में जानकार हैं, लेकिन यह नौसिखिया अनुभवों को पीड़ित करता है। ध्यान दें कि ऐसा नहीं है कि RPM संकुल प्रारूप ही ऐसा होने से रोकता है, यह सिर्फ इतना है कि बहुत से संकुल एक नौसिखिया के दृष्टिकोण से "पूरी तरह से" नहीं हैं।
सामुदायिक आकार, भागीदारी और रिपॉजिटरी की समृद्धि:
चूंकि उबंटू / डेबियन / मिंट / ... समुदाय बड़ा है, इसलिए अधिक लोग पैकेजिंग और परीक्षण सॉफ्टवेयर में शामिल हैं। मैंने रिपॉजिटरी की समृद्धि और गुणवत्ता को बेहतर पाया। Ubuntu में, मैं शायद ही कभी, अगर बिल्कुल, स्रोत डाउनलोड करने और इसे बनाने की जरूरत है। जब मैंने घर पर रेड हैट से उबंटू में स्विच किया, तो ठेठ आरएचईएल रेपो में ~ 3000 पैकेज थे, जबकि एक ही समय में, ubuntu + ब्रह्मांड + मल्टीवर्स सभी किसी भी कैनोनिकल दर्पण से सीधे उपलब्ध थे, इसमें ~ 30,000 पैकेज (लगभग 10x) थे। आरपीएम प्रारूप में मैं जिन पैकेजों की तलाश कर रहा था, उनमें से ज्यादातर सरल खोज के माध्यम से आसानी से उपलब्ध नहीं थे और पैकेज प्रबंधक में क्लिक करें। उन्हें वैकल्पिक रिपॉजिटरी में स्विच करने की आवश्यकता थी, rpmfind सेवा वेब साइट आदि की खोज करें। यह, ज्यादातर मामलों में, समस्या को हल करने के बजाय, निर्भरता को सही ढंग से उन्नत नहीं किया जा सकता है या नहीं किया जा सकता है, यह प्रतिबंधित करने में मेरी स्थापना को तोड़ दिया। मैंने "निर्भरता नरक" घटना को मारा, जैसा कि शॉन जे गोफ द्वारा ऊपर वर्णित है।
उबंटू / डेबियन में इसके विपरीत मैंने पाया कि मुझे स्रोत से निर्माण करने की आवश्यकता नहीं है। इसके कारण भी:
- उबंटू फास्ट (6 महीने) रिलीज चक्र
- पूरी तरह से संगत पीपीए का अस्तित्व जो बॉक्स से बाहर काम करता है
- एकल स्रोत रिपॉजिटरी (सभी कैनोनिकल द्वारा होस्ट किए गए) को वैकल्पिक / पूरक रिपोज के लिए खोज करने की आवश्यकता नहीं है
- निर्बाध उपयोगकर्ता अनुभव क्लिक से चलाने के लिए
मुझे कभी भी उन पैकेजों के पुराने संस्करणों पर कोई समझौता नहीं करना पड़ा, जिनकी मैं परवाह करता था, तब भी जब वे आधिकारिक (Canonical) डेवलपर्स द्वारा बनाए नहीं थे। मुझे अपने पसंदीदा दोस्ताना जीयूआई पैकेज मैनेजर को कभी भी कीवर्ड द्वारा सुविधाजनक खोज करने के लिए नहीं छोड़ना पड़ा, जिसे मैं चाहता था कि किसी भी पैकेज को ढूंढना और स्थापित करना है। इसके अलावा, कुछ बार मैंने उबंटू पर डेबियन (गैर कैननिकल) पैकेज स्थापित किए और उन्होंने ठीक काम किया, इस अनुकूलता की आधिकारिक गारंटी नहीं होने के बावजूद।
ध्यान दें कि यह एक लौ युद्ध शुरू करने का इरादा नहीं है, यह सिर्फ मेरे अनुभव को दोनों दुनियाओं के समानांतर कई सालों से उपयोग कर रहा है (काम बनाम घर)।
debian
निर्देशिका उस निर्देशिका में मौजूद है जिसमें अपस्ट्रीम स्रोत को निकाला गया था, और डेबियन एक प्राचीन अपस्ट्रीम स्रोत टैरबॉल की अवधारणा को बहुत महत्व देता है। जब एक स्रोत पैकेज बनाया जाता है, तो तीन (देशी पैकेज के लिए दो) फाइलें होती हैं, जिन्हें एक साथ स्रोत पैकेज कहा जाता है: अपस्ट्रीम टारबॉल (अधिमानतः प्राचीन, डेबियन नीति के लिए कुछ परियोजनाओं को फिर से तैयार करने की आवश्यकता होती है), के लिए डीयर डायर का एक टारबॉल नया 3.0 प्रारूप, (पुराने 1.0 प्रारूप के लिए एक भिन्न) और .dsc।