स्थिर कर्नेल रिलीज़ और amp; अपडेट

लिनक्स कर्नेल स्थिर रिलीज़ मॉडल 2005 में शुरू हुआ, जब यह निर्धारित किया गया कि मौजूदा कर्नेल विकास मॉडल (हर 2-3 महीने में एक नया रिलीज़) अधिकांश उपयोगकर्ताओं की जरूरतों को पूरा नहीं कर रहा था। उपयोगकर्ता उन 2-3 महीनों के दौरान किए गए बगफिक्स चाहते थे, और लिनक्स वितरणों को कर्नेल समुदाय से प्रतिक्रिया के बिना कर्नेल को अद्यतित रखना मुश्किल हो गया था। सामान्य तौर पर, अलग-अलग कर्नेल को नवीनतम बगफिक्स के साथ सुरक्षित रखने का प्रयास कई अलग-अलग व्यक्तियों द्वारा किया गया एक बड़ा और भ्रमित करने वाला प्रयास था।

स्थिर कर्नेल रिलीज़ सीधे लिनस टोरवाल्ड्स के रिलीज़ पर आधारित होते हैं, और विभिन्न बाहरी कारकों (वर्ष का समय, उपलब्ध पैच, अनुरक्षक कार्यभार, आदि) के आधार पर हर हफ्ते जारी किए जाते हैं। स्थिर रिलीज़ की संख्या कर्नेल रिलीज़ की संख्या से शुरू होती है, और इसके अंत में एक अतिरिक्त संख्या जोड़ी जाती है। उदाहरण के लिए, 4.4 कर्नेल लिनुस द्वारा जारी किया जाता है, और फिर इस कर्नेल पर आधारित स्थिर कर्नेल रिलीज़ को 4.4.1, 4.4.2, 4.4.3, इत्यादि क्रमांकित किया जाता है। स्थिर कर्नेल रिलीज़ ट्री का संदर्भ देते समय इस क्रम को आमतौर पर संख्या 4.4.y से छोटा कर दिया जाता है। प्रत्येक स्थिर कर्नेल रिलीज़ ट्री का रखरखाव एक एकल कर्नेल डेवलपर द्वारा किया जाता है, जो रिलीज़ के लिए आवश्यक पैच चुनने और समीक्षा/रिलीज़ प्रक्रिया को प्रबंधित करने के लिए जिम्मेदार है।

वर्तमान विकास चक्र की अवधि के लिए स्थिर कर्नेल बनाए रखा जाता है। लिनस द्वारा एक नया कर्नेल जारी करने के बाद, पिछले स्थिर कर्नेल रिलीज़ ट्री को रोक दिया जाता है और उपयोगकर्ताओं को नए रिलीज़ किए गए कर्नेल पर जाना होगा।

लंबे समय तक स्थिर गुठली

इस नई स्थिर रिलीज़ प्रक्रिया के एक वर्ष के बाद, यह निर्धारित किया गया कि लिनक्स के कई अलग-अलग उपयोगकर्ता चाहते थे कि कर्नेल को केवल कुछ महीनों से अधिक समय तक समर्थित किया जाए। प्रतिक्रिया में, लॉन्ग टर्म सपोर्टेड (एलटीएस) कर्नेल रिलीज़ बनाया गया, जिसमें पहला एलटीएस कर्नेल (2.6.16) 2006 में जारी किया गया था। तब से, वर्ष में एक बार एक नया एलटीएस कर्नेल चुना गया है और कर्नेल समुदाय उस कर्नेल को लंबे समय तक बनाए रखता है न्यूनतम 2 वर्ष.

इस लेखन के समय, एलटीएस कर्नेल 4.4.y, 4.9.y, 4.14.y, 4.19.y, 5.4.y, और 5.10.y रिलीज़ हैं। एक नया कर्नेल साप्ताहिक रूप से जारी किया जाता है। कुछ उपयोगकर्ताओं और वितरणों की आवश्यकताओं के कारण, कुछ अतिरिक्त पुराने कर्नेल को कर्नेल डेवलपर्स द्वारा धीमी रिलीज़ चक्र पर बनाए रखा जाता है। सभी दीर्घकालिक स्थिर कर्नेल के बारे में जानकारी, उनका प्रभारी कौन है, और उन्हें कितने समय तक बनाए रखा जाएगा, कर्नेल.org रिलीज़ पृष्ठ पर पाया जा सकता है।

एलटीएस कर्नेल प्रति दिन औसतन 6-8 पैच स्वीकार करता है, जबकि सामान्य स्थिर कर्नेल रिलीज़ में प्रति दिन 10-15 पैच होते हैं। संबंधित विकास कर्नेल रिलीज़ के वर्तमान समय और अन्य बाहरी चर को देखते हुए पैच की संख्या प्रति रिलीज़ में उतार-चढ़ाव होती है। एलटीएस कर्नेल जितना पुराना होगा, उस पर उतने ही कम पैच लागू होंगे क्योंकि कई हालिया बगफिक्स पुराने कर्नेल के लिए प्रासंगिक नहीं हैं। हालाँकि, कर्नेल जितना पुराना होता है, कोडबेस में बदलावों के कारण उन परिवर्तनों को बैकपोर्ट करना उतना ही कठिन होता है, जिन्हें लागू करने की आवश्यकता होती है। इसलिए जबकि लागू होने वाले समग्र पैच की संख्या कम हो सकती है, एलटीएस कर्नेल को बनाए रखने में शामिल प्रयास सामान्य स्थिर कर्नेल को बनाए रखने से अधिक है।

स्थिर कर्नेल पैच नियम

स्थिर कर्नेल रिलीज़ में क्या जोड़ा जा सकता है, इसके नियम इसकी शुरूआत के बाद से लगभग समान बने हुए हैं और इन्हें नीचे संक्षेप में प्रस्तुत किया गया है:

  • स्पष्ट रूप से सही और परीक्षण किया जाना चाहिए।
  • 100 पंक्तियों से अधिक बड़ा नहीं होना चाहिए.
  • एक ही चीज़ ठीक करनी होगी.
  • जो कुछ समस्या बताई गई है उसे अवश्य ठीक करें।
  • हार्डवेयर के लिए एक नई डिवाइस आईडी या क्विर्क हो सकता है, लेकिन प्रमुख नई कार्यक्षमता नहीं जोड़ सकता।
  • इसे पहले ही लिनुस टोरवाल्ड्स के पेड़ में विलीन कर दिया जाना चाहिए।

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

कर्नेल अद्यतन

लिनक्स कर्नेल समुदाय ने अपने उपयोगकर्ता आधार से वादा किया है कि कोई भी अपग्रेड किसी भी चीज़ को नहीं तोड़ेगा जो वर्तमान में पिछले रिलीज़ में काम कर रही है। वह वादा आज भी सच है। रिग्रेशन होते हैं, लेकिन वे सर्वोच्च प्राथमिकता वाले बग हैं और या तो जल्दी से ठीक हो जाते हैं, या जिस परिवर्तन के कारण रिग्रेशन हुआ, उसे लिनक्स कर्नेल ट्री से तुरंत वापस कर दिया जाता है।

यह वादा वृद्धिशील स्थिर कर्नेल अपडेट के साथ-साथ हर तीन महीने में होने वाले बड़े प्रमुख अपडेट दोनों के लिए सच है। हालाँकि, कर्नेल समुदाय केवल उस कोड के लिए यह वादा कर सकता है जो लिनक्स कर्नेल ट्री में विलय हो गया है। डिवाइस के कर्नेल में मर्ज किया गया कोई भी कोड जो कर्नेल.ऑर्ग रिलीज़ में नहीं है, अज्ञात है और इसके साथ इंटरैक्शन की कभी भी योजना नहीं बनाई जा सकती है, या यहां तक ​​कि उस पर विचार भी नहीं किया जा सकता है।

लिनक्स पर आधारित डिवाइस जिनमें बड़े पैच सेट होते हैं, उन्हें नए कर्नेल में अपडेट करते समय बड़ी समस्याएं हो सकती हैं, क्योंकि प्रत्येक रिलीज के बीच बड़ी संख्या में परिवर्तन होते हैं (प्रति रिलीज 10-14 हजार परिवर्तन)। SoC पैचसेट को विशेष रूप से उनके बड़े आकार और आर्किटेक्चर विशिष्ट और कभी-कभी कोर, कर्नेल कोड के भारी संशोधन के कारण नए कर्नेल में अपडेट करने में समस्याओं के लिए जाना जाता है। परिणामस्वरूप, अधिकांश एसओसी विक्रेता अपने उपकरणों के लिए एलटीएस रिलीज का उपयोग करने पर मानकीकरण करना शुरू कर रहे हैं, जिससे उन उपकरणों को सीधे लिनक्स कर्नेल समुदाय से बग और सुरक्षा अपडेट प्राप्त करने में सक्षम बनाया जा सके।

सुरक्षा

कर्नेल रिलीज़ करते समय, लिनक्स कर्नेल समुदाय लगभग कभी भी विशिष्ट परिवर्तनों को सुरक्षा सुधार के रूप में घोषित नहीं करता है। यह यह निर्धारित करने में कठिनाई की मूल समस्या के कारण है कि निर्माण के समय बगफिक्स एक सुरक्षा समाधान है या नहीं। इसके अलावा, कई बगफिक्स को काफी समय बीत जाने के बाद ही सुरक्षा से संबंधित माना जाता है, इसलिए कर्नेल समुदाय हमेशा जारी किए गए सभी बगफिक्स को लेने की दृढ़ता से अनुशंसा करता है।

जब कर्नेल समुदाय को सुरक्षा समस्याओं की सूचना दी जाती है, तो उन्हें जल्द से जल्द ठीक कर दिया जाता है और सार्वजनिक रूप से विकास वृक्ष और स्थिर रिलीज़ पर भेज दिया जाता है। जैसा कि ऊपर बताया गया है, परिवर्तनों को लगभग कभी भी "सुरक्षा समाधान" के रूप में वर्णित नहीं किया गया है, बल्कि वे कर्नेल के लिए किसी अन्य बगफिक्स की तरह दिखते हैं। ऐसा इसलिए किया जाता है ताकि प्रभावित पक्षों को समस्या के रिपोर्टर द्वारा इसकी घोषणा करने से पहले अपने सिस्टम को अपडेट करने की क्षमता मिल सके।

कर्नेल समुदाय को सुरक्षा बग की रिपोर्ट करने और उन्हें जल्द से जल्द ठीक करने के विवरण के लिए, www.kernel.org पर लिनक्स कर्नेल उपयोगकर्ता और व्यवस्थापक की मार्गदर्शिका में सुरक्षा बग देखें।

क्योंकि कर्नेल टीम द्वारा सुरक्षा बग की घोषणा जनता के लिए नहीं की जाती है, लिनक्स कर्नेल से संबंधित मुद्दों के लिए सीवीई नंबर आमतौर पर फिक्स को स्थिर और विकास शाखाओं में विलय करने के बाद हफ्तों, महीनों और कभी-कभी वर्षों तक जारी किए जाते हैं।

एक सुरक्षित व्यवस्था बनाए रखना

लिनक्स का उपयोग करने वाले डिवाइस को तैनात करते समय, यह दृढ़ता से अनुशंसा की जाती है कि सभी एलटीएस कर्नेल अपडेट निर्माता द्वारा लिए जाएं और उचित परीक्षण के बाद अपडेट अच्छी तरह से काम करने के बाद अपने उपयोगकर्ताओं को भेज दिया जाए। इसके कई फायदे हैं:

  • कर्नेल डेवलपर्स द्वारा रिलीज़ की समीक्षा समग्र रूप से की गई है, अलग-अलग हिस्सों में नहीं।
  • यह निर्धारित करना यदि असंभव नहीं तो कठिन है, कि कौन सा पैच "सुरक्षा" समस्याओं को ठीक करता है और कौन सा नहीं। लगभग हर एलटीएस रिलीज़ में कम से कम एक ज्ञात सुरक्षा सुधार होता है, और कई अभी तक "अज्ञात" होते हैं।
  • यदि परीक्षण में कोई समस्या दिखाई देती है, तो कर्नेल डेवलपर समुदाय समस्या को हल करने के लिए तुरंत प्रतिक्रिया देगा।
  • केवल आपके द्वारा चलाए गए परिवर्तनों को फ़िल्टर करने के प्रयासों के परिणामस्वरूप एक कर्नेल ट्री बन जाएगा जिसे भविष्य के अपस्ट्रीम रिलीज़ के साथ सही ढंग से मर्ज करना असंभव है।