मैं एक मेनलाइन कर्नेल को कैसे हटा सकता हूं और एक समर्थित कर्नेल पर वापस जा सकता हूं?


11

मैंने हाल ही में अपने Ubuntu 12.04 में कर्नेल 3.4 में अपग्रेड किया। उसके बाद कंप्यूटर बूट नहीं हो रहा है। इसलिए मैंने बूट करने के लिए पिछले कर्नेल का उपयोग किया। वास्तव में मुझे 3.4 कर्नेल नहीं चाहिए। तो मैं इसे कैसे निकाल सकता हूं और पिछले एक का ही उपयोग कर सकता हूं?

जवाबों:


8

आपने इसे कैसे स्थापित किया? यदि आपने अभी-अभी डिबेट फ़ाइलों का भार पकड़ा है और उन्हें स्थापित किया है, तो इससे छुटकारा पाना उतना ही सरल है जितना कि पैकेज ढूंढना और apt-get removeउनमें से प्रत्येक के लिए चलना ।

मेरे पास बस एक कप कॉफी है, इसलिए आप आज सुबह मेरे बशफू का पूरा खामियाजा उठाएं ... यह आपको बताना चाहिए कि गुठली क्या है:

dpkg -l | awk '/linux-[^ ]+-[0-9]/ {print $2}'

उन के माध्यम से जाओ और उन संस्करणों को नोट करें जिन्हें आप न्यूक करना चाहते हैं। इस बात का भी ध्यान रखें कि बूटिंग के बाद से आपके द्वारा स्थापित वर्तमान (uname -a) या आपके द्वारा स्थापित किसी भी नए कर्नेल पर ध्यान दें। आप नए लोगों को हटाना नहीं चाहते हैं।

वैसे भी जब आपको अंदाजा हो गया है, तो आप इस आदेश को स्वीकार करके उन्हें हटा सकते हैं:

sudo apt-get purge linux-{headers,image,image-extra}-3.5.0-{7,8,9}.*

ब्रेसिज़ में शब्दों और संख्याओं को रनटाइम पर विस्तारित किया जाएगा ताकि जो पैकेज वास्तव में लक्षित होंगे:

linux-headers-3.5.0-7*
linux-headers-3.5.0-8*
linux-headers-3.5.0-9*
linux-image-3.5.0-7*
linux-image-3.5.0-8*
linux-image-3.5.0-9*
linux-image-extra-3.5.0-7*
linux-image-extra-3.5.0-8*
linux-image-extra-3.5.0-9*

आप इसके साथ गड़बड़ कर सकते हैं, लेकिन सफाई के लिए मुझे यह एक विस्तृत वाइल्डकार्ड की तुलना में अधिक सुरक्षित लगता है (जैसा कि मैं वर्तमान में 3.5 पर है। * कर्नेल)।

किसी भी तरह, हां-हां कहने से पहले पढ़िए कि क्या करने वाला है । वर्तमान गुठली और सभी गुठली निकालना एक आश्चर्यजनक रूप से सामान्य भविष्यवाणी है जो उबंटू उपयोगकर्ता खुद को ढूंढता है। यह अविश्वसनीय नहीं है, लेकिन हाँ, ऐसा मत करो!

वाइल्डकार्ड और एप्ट-गेट के साथ विशेष रूप से सावधान रहें। यदि आप मुझ पर विश्वास नहीं करते हैं तो दौड़ें apt-get -s remove linux-image-3.4*और देखें कि यह क्या चुनता है (हाँ - सभी कर्नेल)। चिंता न करें कि कमांड "अनुकरण मोड" में है, इसलिए यह कुछ भी नहीं करेगा (और इसलिए रूट की आवश्यकता नहीं है)।


लगभग चार साल बाद, आपकी चेतावनी सही बनी हुई है। मैं बस एक आलसी था-मैं उससे दूर हूं ... सिरदर्द का दिन, जब मैं पुष्टि को थोड़ा और करीब से पढ़ता था जितना कि मैं सामान्य रूप से करता था। क्या एक करीबी कॉल!
फिशर किंग

आप इससे उबर सकते हैं, यह बस नीचे दर्द है जब आप इसकी उम्मीद नहीं कर रहे हैं।
ओली

7

मेनलाइन कर्नेल की स्थापना रद्द करना

मेनलाइन कर्नेल का अपना ABI नाम स्थान होता है इसलिए वे स्टॉक उबंटु कर्नेल के साथ कंधे से कंधा मिलाकर चलते हैं (प्रत्येक कर्नेल के पास एक अलग निर्देशिका /lib/modules/VERSIONहै उदाहरण के लिए)। इसका मतलब है कि आप एक ही समय में कई मेनलाइन और उबंटू स्टॉक कर्नेल स्थापित कर सकते हैं और आपको जीआरयूबी बूट मेनू से अपनी ज़रूरत का चयन कर सकते हैं।

यदि आप वैसे भी मेनलाइन कर्नेल को अनइंस्टॉल करना चाहते हैं, तो पहले इस्तेमाल करें:

dpkg -l | grep "linux\-[a-z]*\-"

आप जिस कर्नेल संकुल को अनइंस्टॉल करना चाहते हैं उसका सही नाम पता करें, और फिर करें:

sudo apt-get remove KERNEL_PACKAGES_TO_REMOVE

याद रखें कि कई पैकेज एक कर्नेल संस्करण के हैं: सामान्य हेडर, आर्किटेक्चर विशिष्ट हेडर और आर्किटेक्चर विशिष्ट छवि।

स्रोत: https://wiki.ubuntu.com/Kernel/MainlineBuilds#Uninstalling_Mainline_Kwels

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.