एक अप-टू-डेट लिनक्स कर्नेल को बनाए रखना सुरक्षा, हार्डवेयर संगतता और प्रदर्शन अनुकूलन के लिए महत्वपूर्ण है। यह मार्गदर्शिका उबंटू सिस्टम पर कर्नेल को अपग्रेड करने के विश्वसनीय तरीकों को रेखांकित करती है, जो विभिन्न उपयोग मामलों और विशेषज्ञता स्तरों को पूरा करती है।
कर्नेल को अपग्रेड क्यों करें?
सुरक्षा पैच: कमजोरियों को कम करें।
हार्डवेयर समर्थन: नए उपकरणों/सुविधाओं को सक्षम करें।
प्रदर्शन लाभ: शेड्यूलर/आईओ सुधारों से लाभ उठाएं।
स्थिरता सुधार: कर्नेल-स्तरीय बग को हल करें।
⚠️ सावधानी:
पहले गैर-उत्पादन वातावरण में अपग्रेड का परीक्षण करें।
सुनिश्चित करें कि महत्वपूर्ण ड्राइवर (जैसे, NVIDIA, ZFS) लक्ष्य कर्नेल का समर्थन करते हैं।
हमेशा एक बैकअप/रोलबैक योजना रखें।
विधि 1: आधिकारिक उबंटू रिपॉजिटरी का उपयोग करना (अनुशंसित)
सबसे अच्छा: स्थिर, परीक्षण किए गए कर्नेल लंबी अवधि के समर्थन (LTS) के साथ।
चरण:
पैकेज सूचियाँ अपडेट करें:
बैश
sudo apt update && sudo apt full-upgrade -y
HWE कर्नेल स्थापित करें (LTS सिस्टम):उबंटू 22.04 LTS के लिए:
बैश
sudo apt install --install-recommends linux-generic-hwe-22.04
रीबूट करें और सत्यापित करें:
बैश
sudo reboot
uname -r # कर्नेल संस्करण की जाँच करें (उदाहरण के लिए, 6.5.x)
विधि 2: मेनलाइन कर्नेल पीपीए का उपयोग करना (नवीनतम कर्नेल)
सबसे अच्छा: नवीनतम सुविधाओं की आवश्यकता वाले उत्साही लोगों के लिए।जोखिम: कम परीक्षण किया गया; संभावित संगतता मुद्दे।
मेनलाइन पीपीए जोड़ें:
बैश
sudo add-apt-repository ppa:cappelikan/ppa -y
sudo apt update
मेनलाइन GUI टूल स्थापित करें (वैकल्पिक):
बैश
sudo apt install mainline
के माध्यम से लॉन्च करें mainline ग्राफिक रूप से कर्नेल का चयन/स्थापना करने के लिए।
या CLI के माध्यम से स्थापित करें:
बैश
sudo apt install linux-image-unsigned--generic linux-headers--generic
(बदलें लक्ष्य कर्नेल के साथ, उदाहरण के लिए, 6.8.4)
विधि 3: मैनुअल कर्नेल संकलन
सबसे अच्छा: अनुकूलन या विशिष्ट डिबगिंग आवश्यकताओं के लिए।
प्रक्रिया:
निर्भरताएँ स्थापित करें:
बैश
sudo apt install build-essential libncurses-dev bison flex libssl-dev libelf-dev
कर्नेल स्रोत डाउनलोड करें:विजिट करें kernel.org, वांछित स्रोत डाउनलोड करें (उदाहरण के लिए, linux-6.8.tar.xz)।
निकालें और कॉन्फ़िगर करें:
बैश
tar -xvf linux-6.8.tar.xz
cd linux-6.8
make menuconfig # वर्तमान कॉन्फ़िगरेशन का उपयोग करें: /boot/config-$(uname -r)
संकलन और स्थापित करें:
बैश
make -j$(nproc) # सभी कोर का उपयोग करके संकलित करें
sudo make modules_install # मॉड्यूल स्थापित करें
sudo make install # कर्नेल स्थापित करें
sudo update-initramfs -c -k 6.8.0 # initramfs अपडेट करें
sudo update-grub # GRUB अपडेट करें
sudo reboot
रोलबैक योजना
पिछले कर्नेल में बूट करें:
पकड़ो Shift GRUB तक पहुँचने के लिए बूट के दौरान → पुराने कर्नेल का चयन करें।
समस्याग्रस्त कर्नेल निकालें:
बैश
s