पहले गंदे जवाब: यह निर्भर करता है
यदि आप बायनेरिज़ जारी कर रहे हैं, तो "न" होने के उत्तर को मान लें जब तक कि आप उन सभी परिवादों को वितरित नहीं कर रहे हैं जो कभी भी इसके साथ शामिल होते हैं (जमीन से ऊपर तक, जो कि कष्टप्रद है जब तक कि आप वास्तव में बहुत बड़ी प्रणाली प्रदान नहीं कर रहे हैं जो अपने आप पर खड़ा होता है ) या स्टैटिक को बराबर से जोड़ रहे हैं।
... लेकिन जादूगरों और पैसे, और पैसे जादूगरों ...
आईबीएम के पास कुछ "सामान्य यूनिक्स" इंस्टॉलर हैं जिन्होंने मुझे हर जगह काम करके मुझे झटका दिया है मैंने उन्हें कोशिश की है: कई कर्नेल पीढ़ियों से कई लिंज़, ओपनसोलारिस (या अब जो भी कहा जाता है), सोलारिस और बीएसडी। लेकिन वे विशाल हैं। और जो चीजें वे प्रदान करते हैं वे समान रूप से विशाल हैं। कोई svelt थोड़ा रेसकार कार्यक्रम इस तरह से प्रकाशित नहीं होता है, बस आईबीएम से बड़े एंटरप्रीसी टाइप के सामान की आपको उम्मीद होगी।
जहां तक सिर्फ लिनक्स पर रहने की बात है, लेकिन सबसे ज्यादा लिनक्स में अच्छी तरह से काम करते हुए, यह द्विआधारी रूप में संभव प्रतीत होता है, जैसा कि "लिनक्स (सामान्य)" प्रकार की बाइनरी इंस्टॉलर की विविधता से आपको कुछ विक्रेताओं से दिखाई देगा। कई चैट, ब्राउज़र, गेम, मेटा-इंस्टॉलर आदि इस तरह से प्रकाशित किए जाते हैं, लेकिन हमेशा बड़े विक्रेताओं द्वारा जो इस अधिकार को प्राप्त करने के लिए समय बिता सकते हैं। यह आश्चर्यजनक है कि वे "लिनक्स के लिए" कह सकते हैं और आम तौर पर आश्वस्त हैं कि यह काम करेगा, लेकिन ऐसा प्रतीत होता है।
परंतु...
मैं एक निर्माण उपयोगिता के साथ स्रोत के रूप में अपने सॉफ़्टवेयर को वितरित करता हूं। मैं इसे C, Erlang, Python, Guile, आदि में करता हूं। इससे मुझे बहुत अधिक लचीलापन मिलता है कि यह चलेगा या नहीं, और एक बिल्डस्क्रिप्ट लिखना बहुत आसान है जो यह सुनिश्चित करता है कि निर्माण के समय की तुलना में सही चीजें मौजूद हों सुनिश्चित करें कि सब कुछ रनटाइम में है। एक बार मौजूद होने के बाद यदि आप स्रोत वितरित करते हैं तो अपने प्रोग्राम के लिए एक ऑटो-अपडेटर लिखना तुच्छ है: स्रोत आमतौर पर एक बाइनरी की तुलना में बहुत छोटा होता है जिसमें सभी डिपो और अन्य पागलपन शामिल होते हैं। इस पद्धति का उपयोग करने से मुझे यूनीस (और कभी-कभी विंडोज के बीच मज़बूती से तैनाती करने में बहुत परेशानी नहीं हुई है, लेकिन यह थोड़ा अधिक है)।
पर्याप्त चिल्डप्ले, अपने आप को हाथ!
जब आप गंभीर हो रहे होते हैं, जैसे कि srsly srs, Linux की दुनिया के भीतर सुचारू रूप से फिट होने के बारे में, जो आप C स्रोतों को वितरित करते हैं या एक हैकिशली रमणीय भाषा के लिए पूरी तरह से प्रबंधित वातावरण में बदल जाते हैं जो पहले से ही निर्मित है। यदि आप उदाहरण के लिए पायथन कोड लिख रहे हैं, तो आप संस्करणों की जांच कर सकते हैं और जान सकते हैं कि सीपीथॉन संस्करण किसके साथ काम करता है, और आम तौर पर किसी दिए गए लिनक्स पर मौजूद कुछ संगत संस्करण की अपेक्षा करते हैं (और यह सी एफआईआर के व्यापक स्वीप की तुलना में जांचना बहुत आसान है। / आपके द्वारा उपयोग किए जा सकने वाले संस्करण)। एरलंग, गुइल, पायथन, पर्ल, सीएल, आदि सभी बहुत हैं इस तरह की तैनाती के लिए आसान लक्ष्य, और उनमें से कई के पास केंद्रीय भंडार जैसे सीपीएएन या पाइप (या जो कुछ भी है) जहां उपयोगकर्ता अपने हस्ताक्षरित स्रोत को खींचने के लिए एक कमांड चला सकते हैं जब वे इसे चाहते हैं, और जानते हैं कि चीजें आम तौर पर आपके इच्छित उद्देश्य के अनुसार काम करेंगी। ।
[परिशिष्ट: 1. यहां तक कि हास्केल आमतौर पर इसे कैबाल के माध्यम से खींच सकते हैं - हालांकि मैं उत्पादन के माहौल में ऐसा करने के बारे में सतर्क रहूंगा। 2. Erlang के साथ पूरी तरह से अलग "रिलीज़" परिनियोजन रणनीतियाँ हैं जो आपके कोड की गारंटी देती हैं और इसके साथ एक पूरा वातावरण बनाती हैं। 3. पायथन वर्चुअल वातावरण के साथ एक कदम आगे जाता है; सभी रनटाइम्स आपकी मदद नहीं करते।]
लिनक्स पर प्रबंधित वातावरण के बारे में यह अंतिम सा कमाल का है । और, एक बोनस के रूप में, यह आपको बहुत अधिक सामान्य निर्भरता को परिभाषित करने की अनुमति देता है, क्या उन्होंने आपके हिस्से पर कोई अतिरिक्त प्रयास के साथ स्वचालित रूप से हल किया है, प्रति डिस्ट्रो प्रति पैकेज लिखने की आवश्यकता नहीं है, और आप परवाह करना बंद कर सकते हैं कि क्या सिस्टम 32 या 64 है बिट (आम तौर पर, वैसे भी)।