मुख्य लिनक्स कर्नेल और उबंटू द्वारा उपयोग किए जा रहे कर्नेल के बीच सेट किए गए फ़ीचर में क्या अंतर हैं? क्यों उबंटू मुख्य कर्नेल का उपयोग करने के बजाय सीधे मुख्य कर्नेल से दूर है?
मुख्य लिनक्स कर्नेल और उबंटू द्वारा उपयोग किए जा रहे कर्नेल के बीच सेट किए गए फ़ीचर में क्या अंतर हैं? क्यों उबंटू मुख्य कर्नेल का उपयोग करने के बजाय सीधे मुख्य कर्नेल से दूर है?
जवाबों:
अपस्ट्रीम कर्नेल (संदर्भित, जब हम उन्हें प्रदान करते हैं, तो मेनलाइन कर्नेल के रूप में ) केवल निर्दिष्ट संस्करण के लिए अपस्ट्रीम कर्नेल होते हैं, जिसमें बहुत कम मामूली कॉन्फ़िगरेशन परिवर्तन जोड़े जाते हैं ताकि उबंटू इंस्टॉल पर उनका उपयोग करके कम से कम समस्या हो।
इन गुठली और एक Ubuntu संस्करण के लिए जारी एक के बीच का अंतर कई अन्य कॉन्फ़िगरेशन परिवर्तन , स्रोत पैच * और, कुछ मामलों में, मॉड्यूल और हार्डवेयर समर्थन में संकलित हैं।
अंतर्निहित कोड का बहुत कम ऊपर की तुलना में ऊपर की ओर से अलग है।
*: स्रोत पैच हैं, ज्यादातर मामलों में, कर्नेल के डिफ़ॉल्ट व्यवहार में परिवर्तन होता है। ये तक सीमित नहीं हैं: ब्लैक लिस्ट, वीडियो क्विरक्स टेबल, मॉड्यूल में निर्मित, स्रोत परिवर्तन जो अभी तक लिनस के पेड़ या अभी तक स्थिर कतार में नहीं हैं आदि।
स्रोत पैच वे हैं जो टीम कॉन्फ़िगरेशन विकल्पों को पेश करने के लिए उपयोग करती है जो उबंटू के विशिष्ट संस्करण के लिए जारी किए गए सॉफ़्टवेयर के विशाल सरणी का समर्थन करने के लिए आवश्यक हैं। कई मामलों में वे उन अनुप्रयोगों के ठीक से काम करने के लिए आवश्यक हैं। इस और अपस्ट्रीम कर्नेल के बीच मूलभूत अंतर यह है कि शुद्ध अपस्ट्रीम कर्नेल वितरण विशिष्ट नहीं है।
इसलिए, कॉन्फ़िगरेशन यह सुनिश्चित करने के लिए सक्षम नहीं हैं कि कुछ एप्लिकेशन अपेक्षित रूप से काम करते हैं। ये विन्यास विशिष्ट चीजों के लिए कर्नेल के लिए परिवर्तनशीलता के उस स्तर को प्रदान करने के लिए मौजूद हैं। इसके अतिरिक्त, quirks का उपयोग हमें हार्डवेयर की पहचान करने की अनुमति देता है जिसके लिए कर्नेल से विशिष्ट चीजों की आवश्यकता होती है जो हम उन्हें पता लगाने के बाद सेट कर सकते हैं।
यह लिनक्स की प्रमुख विशेषताओं में से एक है और यह उन कारणों में से एक है जो हम इतने विविध प्लेटफार्मों पर वर्षों से चला रहे हैं। ऐसे समय होते हैं जब क्वर्की और स्रोत पैच एक दूसरे के बीच मुद्दों का कारण बनते हैं। इन समयों के दौरान, हम अंतर्निहित कर्नेल व्यवहार में परिवर्तन के साथ समस्याओं को कम करने के लिए काम करते हैं। कई मामलों में ये परिवर्तन इसे ठीक से अपस्ट्रीम नहीं बनाते हैं, क्योंकि रिलीज के बाद बहुत बड़े हिस्से को ठीक से कोड करने की आवश्यकता के कारण, दस्तावेज़ जो किया गया था, परिवर्तनों का परीक्षण करें और विभिन्न अन्य परीक्षण और तनाव परीक्षण करें।
इन मामलों में, अपस्ट्रीम की ओर जाने वाले पैच को स्रोत पैच के रूप में उसी तरह पूर्व-स्थिर और पैच के रूप में ले जाया जाता है जो अभी लिनस के पेड़ में नहीं हैं। डेल्टा समीक्षा युक्ति के लिंक को उबंटू कर्नेल की वर्तमान नेटी रिलीज़ के लिए समीक्षा की गई थी जो संदर्भ के रूप में काम करना चाहिए।
लिनक्स कर्नेल निरंतर विकास में है। जब उनकी अगली रिलीज़ की पैकेजिंग की जाती है, तो किसी समय उबंटू टीम को यह कहना पड़ता है, 'ठीक है, हम कर्नेल ले लेंगे क्योंकि यह अब खड़ा है' वर्तमान वितरण।
यह जगह कुछ दिलचस्प पढ़ने के लिए बना सकती है लेकिन यह अत्यधिक तकनीकी हो सकती है। आप वर्कआउट करने में सक्षम हो सकते हैं कि अपस्ट्रीम खाना बनाना क्या है और आप वर्तमान में क्या याद कर रहे हैं (लेकिन अंततः मिल जाएगा)।
यह ध्यान दिया जाना चाहिए, सॉफ़्टवेयर के किसी भी टुकड़े की तरह, एक कर्नेल बग-ग्रस्त होने का खतरा है और यह अक्सर ऐसा होता है कि प्रतिगमन होता है (नया सामान जोड़ा गया पुराने कार्यक्षमता को तोड़ता है)। इन दिनों कर्नेल IMHO वास्तव में मुझे नई कार्यक्षमता के मामले में उत्साहित नहीं करते हैं। मैं बहुत खुशी से एक कर्नेल चलाऊंगा जो दो साल का था।
आप उबंटू के गिट पेड़ को डाउनलोड कर सकते हैं, और गिट पेड़ को देखने के लिए एक ग्राफिकल दर्शक का उपयोग कर सकते हैं। यह आपको उबंटू के सभी पैच दिखाएगा। https://wiki.ubuntu.com/Kernel/Dev/KernelGitGuide
एक अन्य संभावित विकल्प, ubuntu-kernel मेलिंग सूची की सदस्यता लें। उनके सभी काम वहां पोस्ट किए जाते हैं, और आप अंदाजा लगा सकते हैं कि वे क्या करते हैं। लेकिन, यह उच्च यातायात है, और IMHO, कष्टप्रद है। (लेकिन हे, यह उनकी सूची है)