नवीनतम लिनक्स कर्नेल के उपयोग से वितरण को क्या रोकता है? [बन्द है]


13

अधिकांश लिनक्स वितरण एक निश्चित कर्नेल संस्करण के साथ जहाज और केवल बिंदु विज्ञप्ति पर (इसे अद्यतन x.y.zकरने के लिए x.y.(z+1)) और सुरक्षा अद्यतन के लिए।

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

मुझे समझ में नहीं आता है कि हमेशा नवीनतम कर्नेल को अपडेट करने के बजाय वितरण "स्थिर" कर्नेल का उपयोग क्यों करते हैं। यह आलोचना नहीं है, मैं सिर्फ इस कारण को लेकर उत्सुक हूं।


1
क्योंकि नवीनतम गुठली परीक्षण की कमी है। इसमें बग हो सकते हैं जो सिस्टम की स्थिरता को प्रभावित कर सकते हैं और स्थिरता किसी भी वितरण अनुचर का मुख्य ध्यान केंद्रित है।

जवाबों:


8

लिनक्स कर्नेल का सिस्टम कॉल इंटरफेस बहुत स्थिर है। लेकिन कर्नेल में अन्य इंटरफेस हैं जो हमेशा संगत नहीं होते हैं।

  • /procज्यादातर स्थिर है, लेकिन अतीत में कुछ बदलाव हुए हैं (जैसे कुछ इंटरफेस बनाए /sysजाने के बाद कुछ समय तक चलने वाले /sys)।
  • अतीत में कई उपकरण-संबंधित इंटरफेस हटा दिए गए हैं।
  • /sysकुछ स्थिर इंटरफेस (सूचीबद्ध Documentation/ABI/stable) और कुछ ऐसे नहीं हैं। आप उन लोगों का उपयोग करने वाले नहीं हैं जो कभी नहीं होते हैं, लेकिन कभी-कभी लोग ऐसा करते हैं, और एक साधारण सुरक्षा और स्थिरता उन्नयन उनके लिए चीजों को नहीं तोड़ना चाहिए।
  • अतीत में मॉड्यूटिल्स के साथ असंगतताएं हैं (नए कर्नेल को न्यूटाइल के नए संस्करण की आवश्यकता होती है), हालांकि मुझे लगता है कि यह कुछ समय पहले था।
  • कुछ असामान्य कॉन्फ़िगरेशन पर बूट प्रक्रिया के संबंध में असंगतताएं भी हैं। यहां तक ​​कि कर्नेल के आकार को बढ़ाने से कुछ एम्बेडेड सिस्टम पर समस्याएं हो सकती हैं।
  • जबकि कर्नेल के बाहरी इंटरफेस बहुत स्थिर हैं, आंतरिक इंटरफेस नहीं हैं। आंतरिक इंटरफेस के लिए नियम यह है कि जब तक वे आंतरिक उपयोग को ठीक करते हैं, तब तक कोई भी उन्हें तोड़ सकता है, लेकिन तीसरे पक्ष के मॉड्यूल को ठीक करना उक्त मॉड्यूल के लेखक की जिम्मेदारी है। कुल मिलाकर बहुत सारे इंस्टॉलेशन थर्ड-पार्टी मॉड्यूल चलाते हैं: हार्डवेयर के लिए अतिरिक्त ड्राइवर जो कर्नेल द्वारा समर्थित नहीं थे (यदि हार्डवेयर नए कर्नेल द्वारा समर्थित है, तो यह ठीक है, लेकिन अगर यह नहीं है), तो मालिकाना ड्राइवर ( जबकि दुनिया एक बेहतर स्थान होगा यदि सभी ड्राइवर खुले स्रोत थे, तो यह मामला नहीं है, उदाहरण के लिए, यदि आप अच्छा 3 डी जीपीयू प्रदर्शन चाहते हैं, तो आप मालिकाना ड्राइवरों के साथ बहुत अधिक फंस गए हैं), आदि।
  • कुछ लोगों को अपने कर्नेल, या कुछ तृतीय-पक्ष मॉड्यूल को फिर से जोड़ने की आवश्यकता होती है। अधिक हाल के गुठली अक्सर पुराने संकलक के साथ संकलित नहीं किए जा सकते हैं।

सभी सभी में, हाल ही के कर्नेल संस्करण में स्विच न करने का प्राथमिक कारण तृतीय-पक्ष मॉड्यूल है।

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


9

मैं वितरण के लिए काम नहीं कर रहा हूं, लेकिन मैं कम से कम दो कारणों के बारे में सोच सकता हूं:

  • कुछ वितरण कर्नेल में अपने कस्टम पैच लागू करते हैं जो अभी तक मेनलाइन में विलय नहीं किए गए हैं। इसका मतलब है कि कर्नेल के हर अपडेट के लिए उन्हें यह सुनिश्चित करने की आवश्यकता है कि उनके पैच कुछ भी नहीं तोड़ते हैं और अभी भी ठीक से काम करते हैं।
  • यहां तक ​​कि नवीनतम स्थिर कर्नेल रिलीज में एक बग हो सकता है, वितरण जो विश्वसनीयता को गंभीरता से लेते हैं वे अपने ग्राहकों को कर्नेल पहुंचाने से पहले कुछ परीक्षण प्रक्रियाओं / प्रक्रियाओं से गुजरना चाहेंगे।

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

0

स्थिरता के लिए अधिक रूढ़िवादी वितरण स्थिर कर्नेल संस्करणों का अनुसरण करते हैं (और सक्रिय रूप से भाग लेते हैं) । अधिक साहसी लोग कर्नेल के एक संस्करण या नवीनतम और सबसे बड़े वेनिला के पीछे का उपयोग करते हैं, साथ ही विकास के टिप (और कुछ घर में रहने वाले) से निकाले गए पैच का एक स्पैटरिंग करते हैं।

वर्तमान कर्नेल विकास नीति यह है कि लिनियस का संस्करण चमकदार, नए खिलौने के साथ आगे बढ़ता है, और थोक परिवर्तनों से डरता नहीं है। कठोर परीक्षण और स्थिरीकरण के लिए आधार बनाने के लिए कुछ संस्करणों को पर्याप्त (विकास-वार) स्थिर माना जाता है, जिससे स्थिर श्रृंखला मिलती है।

यह सब उपयोग में आने वाले औजारों के कारण संभव है, हर कोई अपने स्वयं के गिट के पेड़ को तैयार कर सकता है , दिलचस्प अपस्ट्रीम शाखाओं और स्थानीय स्तर पर सिंक्रनाइज़ किए गए पेड़ों को रख सकता है, दूसरों से तीर्थयात्रा करता है, और स्वतंत्र रूप से स्थानीय परिवर्तन साझा करता है।


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