खराब अपडेट के बाद कर्नेल को डाउनग्रेड कैसे करें (16.04)


20

उबंटू 16.04 कर्नेल (4.4.0-89 और -91) का हालिया अपग्रेड मेरे लैपटॉप पर बुरी तरह से विफल रहा। खुशी से, मुझे पिछला, काम करने वाला संस्करण अभी भी स्थापित है (4.4.0-57)। अभी के लिए मुझे एक मेनू दिखाने के लिए ग्रब कॉन्फ़िगर किया गया है, और मैं मैन्युअल रूप से बूट पर -57 का चयन कर रहा हूं, लेकिन यह नाजुक लगता है, भविष्य में टूटने की संभावना है sudo apt upgrade

मुझे लगता है कि मुझे चाहिए:

  • -89 और -91 को हटाने के लिए, क्योंकि वे मुझे अच्छा नहीं कर रहे हैं।
  • ग्रब के लिए -57 को डिफ़ॉल्ट बनाने के लिए, एक तरह से जो उन्नयन के माध्यम से जारी रहेगा।
  • सुनिश्चित करने के लिए -57 स्थापित रहता है, भले ही मैं बाद में कर्नेल उन्नयन स्थापित करता हूं
  • बाद में कर्नेल अपडेट को आसानी से आज़माने में सक्षम होने के लिए, लेकिन यदि यह विफल रहता है तो -57 पर वापस लौटें। मेरी प्राथमिक चिंता है -57 को स्वतः हटा दिया जाना।
  • अगर मुझे बाद में अपडेट करने का कोई काम मिलता है, तो इन सभी को पूर्ववत करने और निम्नलिखित कर्नेल अपडेट पर लौटने का एक आसान तरीका है।

हटाने की कोशिश कर -91 के साथ sudo apt remove linux-image-4.4.0-91-genericमुझे linux-generic और linux-headers-generic निकालने की आवश्यकता है। यह बुरा लगता है, इसलिए मैंने कोशिश नहीं की है।

मैं सामान्य समस्या के बारे में विभिन्न प्रकार के प्रश्न पा सकता हूं, लेकिन कोई भी मेरे सभी लक्ष्यों को संबोधित नहीं करता है, और अधिकांश पुराने हैं कि मुझे नहीं लगता कि वे किसी और को लागू करते हैं।

ऐसा करने का सबसे अच्छा तरीका क्या है?

परिशिष्ट : यह एक विशिष्ट पैकेज के अद्यतन को रोकने के लिए कैसे की नकल के रूप में चिह्नित किया गया था ? । यह उत्तर मेरे प्रश्न के एक हिस्से को संबोधित कर सकता है, लेकिन बड़ी तस्वीर को संबोधित नहीं करता है।

मोटे तौर पर, मुद्दा यह है कि कर्नेल को असामान्य तरीके से नियंत्रित किया जाता है। यह linux-generic के माध्यम से स्थापित किया गया है, जो linux-image-generic और linux-image-headers पर निर्भरता के अलावा कुछ नहीं है। बदले में वे केवल linux-linux-image-VERSION-generic और headers-VERSION-generic पर निर्भरता रखते हैं, पैकेज नाम में संस्करण संख्या को बेक करने के लिए उल्लेखनीय हैं (संभवतः समानांतर में एकाधिक को स्थापित करना आसान बनाते हैं)।

विशेष रूप से उस जवाब में संबोधित नहीं कर रहे हैं:

  • कैसे -89 और -91 हटाने के लिए संबोधित नहीं करता है।
  • पता नहीं है कि कैसे बनाने के लिए -57 Grub के लिए डिफ़ॉल्ट, भले ही मैं बाद में अद्यतन स्थापित करें।
  • पता नहीं है कि कैसे सुनिश्चित करने के लिए कि -57 स्थापित रहता है, भले ही मैं बाद में अपडेट स्थापित करूं। भले ही उत्तर में एक या एक से अधिक पैकेज रखने के लिए हो, जिसमें कई पैकेज शामिल हों, जिन्हें मैं धारण करूंगा? अगर यह linux-generic रखने की बात है, तो मैं इसे पहले कैसे डाउनग्रेड करूं?

यह बहुत संभावना नहीं है कि गुठली आपके लैपटॉप पर "विफल" हो। संभवतः आपने कुछ ड्राइवर को गलत तरीके से इंस्टॉल किया और कर्नेल अपग्रेड के बाद यह "विफल" हो गया। क्या आपने कोई ग्राफिक्स ड्राइवर स्थापित किया है?
पायलट

यदि आप हेडर के साथ नवीनतम कर्नेल और लिनक्स-जेनेरिक हटाते हैं, तो आप अपने लक्ष्य को प्राप्त करेंगे। लेकिन जैसा कि मैंने कहा कि समस्या अलग है।
पायलट

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

1
यह कोई डुप्लिकेट नहीं है। यह सिर्फ कुछ पैकेज को फ्रीज करने के बारे में नहीं है। शायद यह एक डुप्लिकेट है, लेकिन प्रस्तावित प्रश्न का नहीं।
पायलट

जवाबों:


19

द्वारा नवीनतम कर्नेल निकालें

sudo apt remove linux-image-4.4.0-91-generic linux-headers-4.4.0-91-generic

यह मेटा पैकेजों की स्थापना रद्द करेगा linux-generic, linux-image-genericऔर linux-headers-generic। गुठली को कभी अपग्रेड नहीं किया जाएगा।

इसे वापस करने के लिए आप चला सकते हैं

sudo apt install linux-generic

यह नवीनतम कर्नेल स्थापित करेगा और कर्नेल को अपग्रेड मिलेगा।

linux-genericएक मेटा पैकेज है। यह खाली है, लेकिन दो अन्य मेटा पैकेजों पर निर्भर करता है: linux-image-genericऔर linux-headers-generic

नवीनतम कर्नेल छवि और हेडर के अंतिम दो बिंदु।

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

इसलिए समाधान यह है कि आप जो कर्नेल पैकेज नहीं चाहते हैं उन्हें भी हटा दें और मेटा पैकेज भी।


3

हालांकि Pilot6 का समाधान सबसे अच्छा समाधान हो सकता है, आप कम कठोर उपाय कर सकते हैं।

मैं व्यक्तिगत रूप से उन गुठली को हटा दूंगा जो आप सॉफ्टवेयर सेंटर से नहीं चाहते हैं और फिर उन पैकेजों को होल्ड पर रखें - देखें कि किसी विशिष्ट पैकेज को अपडेट करने से कैसे रोका जाए?

यह एक तुच्छ परिवर्तन है और आप सवारी को पलट सकते हैं या आसानी से बदल सकते हैं।


आप किस पैकेज को रखने का सुझाव देते हैं?
पायलट

लिनक्स-जेनेरिक शायद पर्याप्त है, मैं निश्चित नहीं हूं। दूसरों में जोड़ने की आवश्यकता हो सकती है और सटीक कर्नेल को निर्दिष्ट करने की आवश्यकता हो सकती है, लेकिन मुझे इसमें संदेह है।
पैंथर

3
sudo apt-mark hold linux-image-generic linux-headers-genericकरेंगे
पैंथर

1
@ पायलट 6 - नहीं, आप पुरानी गुठली रख सकते हैं और किस कर्ब को बूट कर सकते हैं। askubuntu.com/questions/216398/…
पैंथर

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