जवाबों:
सभी सॉफ्टवेयर प्रोग्राम हैं , जिन्हें सोर्स पैकेज भी कहा जाता है । इसलिए आपके सिस्टम पर चलने के लिए सभी स्रोत पैकेजों को पहले निर्मित किया जाना चाहिए ।
द्विआधारी संकुल एक है कि पहले से ही से निर्माण कर रहे हैं स्रोत ताकि उपयोगकर्ताओं की एक बड़ी संख्या को स्थापित करने और उपयोग कर सकते हैं सॉफ्टवेयर में प्रदान की सामान्य सुविधाओं और मानकों के साथ किसी के द्वारा।
बाइनरी पैकेज स्थापित करना आसान है ।
लेकिन अपस्ट्रीम पैकेज से सभी विकल्प नहीं हो सकते हैं ।
तो स्रोत से स्थापित करने के लिए, आपको स्रोत कोड स्वयं बनाने की आवश्यकता है। इसका मतलब है कि आपको खुद पर निर्भरता का ध्यान रखना होगा। इसके अलावा आपको पैकेज की सभी विशेषताओं के बारे में पता होना चाहिए ताकि आप इसे अपने अनुसार बना सकें।
स्रोत से स्थापित करने के लाभ:
स्रोत से कम इंस्टॉलेशन में आपको भारी कस्टमाइज़ेशन विकल्प मिलता है, साथ ही इसमें बहुत अधिक मेहनत लगती है, जबकि बाइनरी से इंस्टॉलेशन आसान है लेकिन आप अपनी इच्छानुसार कस्टमाइज़ नहीं कर सकते हैं ।
अद्यतन : नीचे टिप्पणी में सुरक्षा से संबंधित तर्क को जोड़ना। हां यह सच है कि बाइनरी से इंस्टॉल करते समय आपके पास स्रोत कोड की अखंडता नहीं होती है। लेकिन फिर यह निर्भर करता है कि आपको बाइनरी कहाँ से मिली है। बहुत सारे विश्वसनीय स्रोत हैं जहां से आप किसी भी नई परियोजना के बाइनरी प्राप्त कर सकते हैं, केवल नकारात्मक समय है । हमारे विश्वसनीय रिपॉजिटरी में अपडेट के बाइनरी या यहां तक कि एक नई परियोजना के लिए कुछ समय लग सकता है।
और सभी चीजों के ऊपर, सॉफ़्टवेयर सुरक्षा के बारे में, मैं नीचे दिए गए टिप्पणियों में जो द्वारा प्रदान की गई घंटी-प्रयोगशाला में इस उल्लसित पृष्ठ को उजागर करना चाहूंगा ।
स्रोत फ़ाइल में मूल कोड होता है जो डेवलपर द्वारा उस भाषा में लिखा जाता है जिसे वह (सी, सी ++, पायथन आदि) चुनता है, और सामान्य है। यह किसी भी डिस्ट्रो के लिए और कई मामलों में किसी भी ऑपरेटिंग सिस्टम के लिए विशिष्ट नहीं है।
एक पैकेज (RPM या DEB उदाहरण के लिए) आपके विशेष डिस्ट्रो के लिए पूर्व-तैयार द्विआधारी निष्पादन योग्य (या व्याख्या की गई स्क्रिप्ट आदि) है। संकलन करने के लिए स्रोत तैयार करने का कार्य (किसी भी आवश्यक पैच आदि को जोड़ना), वास्तविक संकलन, डिस्ट्रो विशिष्ट कॉन्फिग फाइल बनाना, प्री और पोस्ट इंस्टॉल स्क्रिप्ट आदि बनाना यह सब आपके लिए पैकेज मेंटेनर द्वारा किया जाता है।
दूसरे शब्दों में, एक पैकेज में आपके लिए सभी गधे का काम किया गया है, जबकि स्रोत से स्थापित करने के लिए चुनने पर आपको इसे स्वयं करना होगा।
लगभग सभी मामलों में पैकेज का उपयोग करना बहुत आसान है:
हालांकि, कभी-कभी पैकेज्ड संस्करण एक पुराना संस्करण या इससे भी बदतर होता है, कोई भी पैकेज्ड संस्करण नहीं होता है; किस मामले में आपका एकमात्र विकल्प खुद को संकलित करना है। यदि आप करते हैं, तो आपको निम्नलिखित पर विचार करने की आवश्यकता है:
dev
पैकेज सहित सभी निर्भरताएं स्थापित की गई हैं - उनमें से कई हो सकते हैं।यदि आप अतिरिक्त प्रयास करने के लिए तैयार हैं, तो स्रोत से संकलन आपको निम्नलिखित लाभ दे सकता है:
ध्यान दें कि कुछ डिस्ट्रोस के पूर्व-निर्मित पैकेज बाइनरी एग्जीक्यूटिव प्रदान करते हैं जो स्थापित करने और चलाने के लिए तैयार होते हैं (RPM और DEB उदाहरण हैं), अन्य डिस्ट्रो पैकेज प्रदान करते हैं जो बस संकलन की प्रक्रिया को स्वचालित करते हैं।
जेंटू ebuilds
इसका एक उदाहरण है - पैकेज मूल रूप से पैकेज मैनेजर को निर्देश है कि निष्पादन योग्य को कैसे संकलित और स्थापित किया जाए। पारंपरिक पैकेज प्रबंधकों (स्वचालित अपडेट, अनइंस्टॉलिंग आदि) के कई लाभ हैं, जबकि उपयोगकर्ता अभी भी अपने स्वाद के लिए संकलन प्रक्रिया को अनुकूलित करने की अनुमति देता है।
आर्क लिनक्स में एक पैकेजिंग सिस्टम है जहां मुख्यधारा पैकेज बाइनरी हैं, जबकि PKGBUILD
फ़ाइलों का उपयोग करके सिस्टम पर कई अतिरिक्त पैकेज संकलित किए जाते हैं ।
अन्य उत्तरों के अलावा, मैं कुछ जोड़ना चाहूंगा:
यदि आप अपने आप से एक कार्यक्रम संकलित करने का निर्णय लेते हैं, तो आपको यह सोचने की जरूरत है कि संकलन केवल एक बार करने के लिए कुछ नहीं है। आपको संभवतः उन अनुप्रयोगों की विकास मेलिंग सूची की सदस्यता लेने की आवश्यकता होगी जिन्हें आपने नए संस्करणों के साथ संकलन और अद्यतित रहने का निर्णय लिया था और विशेष रूप से, सुरक्षा अपडेट।
हर बार एप्लिकेशन अपडेट होने के बाद आपको नए संस्करण को फिर से स्थापित करना होगा, बस इस बात का ध्यान रखें कि आपको हर हफ्ते अपना कुछ समय देना होगा।
यदि आप ऐसा नहीं कर सकते हैं, तो पैकेज अनुरक्षक को आपके लिए यह काम करने देना बेहतर है।
स्रोत से भवन बिल्कुल आपकी मशीन की वास्तुकला को निर्दिष्ट करने की अनुमति देता है। नए सीपीयू में अतिरिक्त निर्देश होते हैं जो संकलक समझते हैं, थोड़ा सा प्रदर्शन बाहर निचोड़ते हैं। प्री-बिल्ड पैकेज आमतौर पर सामान्य उपयोग में अभी भी सबसे पुरातन सीपीयू पर गिना जाता है।
यह प्रोजेक्ट-क्रिटिकल एप्लिकेशन के लिए ज्यादातर महत्वपूर्ण है जो सीपीयू का बहुत अधिक उपयोग करते हैं, जैसे कि जैव सूचनात्मक पाइपलाइन के उपकरण, उदाहरण के लिए, या भूभौतिकीय मॉडलिंग उपकरण। इस तरह का सॉफ्टवेयर बहुत नियंत्रित वातावरण में चलता है, अपने आप में एक्सेस कंट्रोल की सुविधा नहीं देता है, इसलिए शायद ही कभी सुरक्षा कीड़े इतने जरूरी होते हैं कि उन्हें दिन या घंटों में पैच करना होगा। शुरू में अज्ञात वास्तुकला के साथ लगभग एक अलग मशीन पर चलने की आवश्यकता नहीं है।
हाँ, मुझे पता है, कंप्यूटर अब बहुत तेजी से चल रहे हैं और आपके द्वारा किए जाने वाले कोई भी प्रयास या कार्य बहुत महंगे हैं, लेकिन आपके कार्यक्रम को पूरा करने और इंतजार करने के तीसरे दिन (यह वह स्थिति है जिसके बारे में मैं बात कर रहा हूं) संदिग्ध लग रही है।
अलग-अलग, ब्राउज़र और इस तरह के एप्लिकेशन को अनुचर रिपॉजिटरी (और कुछ डाउनलोड किए गए पूर्व-निर्मित पैकेजों से नहीं) से बेहतर उपयोग किया जाना चाहिए, क्योंकि उन्हें अद्यतित रखना बहुत महत्वपूर्ण है।
दोनों दुनिया में सबसे अच्छा पाने का एक तरीका (अप टू डेट सॉफ्टवेयर, सिंपल इनस्टॉल / अनइंस्टॉल, ज्यादातर डिस्ट्रीब्यूशन ट्वीक्स और एडाप्शन को शामिल कर सकते हैं, स्थानीय आवश्यकताओं के लिए ऑप्टिमाइज़ कर सकते हैं), जबकि लागत (खुद को अप टू डेट रखना है, बग देखना है। और अंतिम क्षणों में पैच, विकास का पालन करें, आप बग फिक्स और संस्करणों के बीच असंगतता के संबंध में अपने आप पर हैं) को कम नहीं किया जा सकता है (बहुत), अपने पैकेजों का निर्माण करना है, जो आपके वितरण से स्रोत पैकेजों के साथ शुरू होता है। हां, यह सिर्फ निर्माण और स्थापित करने से अधिक काम है।