14.04 पर कर्नेल को रोल-डाउन या डाउनग्रेड कैसे करें (पुनः: वाइन ने काम करना बंद कर दिया)?


10

एक हालिया अपडेट (मैं 14.04 एलटीएस पर हूं) के साथ, वाइन ने अचानक काम करना बंद कर दिया। यह पता चला है कि यह पहले ही वाइनएचक्यू में रिपोर्ट किया गया है जहां संबंधित बग रिपोर्ट जुड़ी हुई हैं।

फिक्स का इंतजार करते हुए कर्नेल को डाउनग्रेड करने की सलाह है, उपयोगकर्ताओं को "अपग्रेड" करने के लिए सलाह पर अपने डिस्ट्रोस का संदर्भ देते हुए। इस बारे में काफी कुछ प्रश्नोत्तर हैं , लेकिन 14.04 विशिष्ट लोग इस आवश्यकता को पूरा नहीं करते हैं। (और साइडबार में "समान प्रश्न" अक्सर काफी पुराने हैं।)

स्वत: अद्यतन (निश्चित रूप से जल्द ही आ रहा है) को पकड़ने के लिए निषिद्ध नहीं करते हुए कर्नेल को सुरक्षित रूप से डाउनग्रेड कैसे किया जाना चाहिए?

मेरे मामले में समस्यात्मक अद्यतन यह प्रतीत होता है:

2015-07-28 14:08:18 upgrade linux-libc-dev:amd64 3.13.0-58.97 3.13.0-59.98

जवाबों:


11

जब आप पहली बार अपनी मशीन को बूट करते हैं तो आपको ग्रब बूट मेनू देखना चाहिए। ग्रब बूट मेन्यू में उस पुराने कर्नेल को चुनें जिसे आप बूट करना चाहते हैं - एक बार जब आपने कर्नेल को चुना है जिसे आप रखना चाहते हैं और आपने उसमें बूट किया है

uname -r

आपको बताएगा कि आप वर्तमान में किस कर्नेल पर चल रहे हैं (एक बार दो बार कट मापें)

dpkg -l | grep linux-image
dpkg -l | grep linux-headers

आपको बताएगा कि आपके सिस्टम पर कर्नेल / हेडर क्या सहेजे गए हैं - मैं हेडर को भी हटा दूंगा - हालांकि वे बहुत अधिक स्थान नहीं लेते हैं फिर भी मैं उन्हें शुद्ध करता हूं, अगर मैं कर्नेल को हटा रहा हूं तो उन्हें क्यों है?

सलाह दी जाती है कि आपके द्वारा चलाए जा रहे कर्नेल को हटाना महत्वपूर्ण नहीं है। uname -r इन कर्नेल और हेडर प्रविष्टियों को हटाना आपके सिस्टम को अनुपयोगी बना देगा

तो बस उन लोगों को हटा दें जिन्हें आप नहीं चाहते हैं:

sudo apt-get purge 

मैं dpkg -l | grep linux-imageएक टेक्स्ट डॉक्यूमेंट के आउटपुट को कॉपी करूंगा ताकि यह एक अन-मैसी प्रक्रिया हो और मैं स्पष्ट रूप से चुन सकूं कि मैं क्या करना चाहता हूं।

पूरा कमांड कैसा दिखेगा इसका एक उदाहरण:

sudo apt-get purge linux-image-3.16.0-41-generic linux-image-3.16.0-41-lowlatency linux-image-extra-3.16.0-41-generic 

sudo apt-get purge linux-headers-3.16.0-41 linux-headers-3.16.0-41-generic linux-headers-3.16.0-41-lowlatency 

dpkg -l का आउटपुट क्या है इसका एक उदाहरण grep linux- हेडर जैसे दिखेंगे:

jason@casa-wesella:~$ dpkg -l | grep linux-headers
ii  linux-headers-3.16.0-41                     3.16.0-41.57~14.04.1                    all          Header files related to Linux kernel version 3.16.0
ii  linux-headers-3.16.0-41-generic             3.16.0-41.57~14.04.1                    i386         Linux kernel headers for version 3.16.0 on 32 bit x86 SMP
ii  linux-headers-3.16.0-41-lowlatency          3.16.0-41.57~14.04.1                    i386         Linux kernel headers for version 3.16.0 on 32 bit x86 SMP
ii  linux-headers-3.16.0-43                     3.16.0-43.58~14.04.1                    all          Header files related to Linux kernel version 3.16.0
ii  linux-headers-3.16.0-43-generic             3.16.0-43.58~14.04.1                    i386         Linux kernel headers for version 3.16.0 on 32 bit x86 SMP
ii  linux-headers-3.16.0-43-lowlatency          3.16.0-43.58~14.04.1                    i386         Linux kernel headers for version 3.16.0 on 32 bit x86 SMP
ii  linux-headers-generic-lts-utopic            3.16.0.43.34                            i386         Generic Linux kernel headers
ii  linux-headers-lowlatency-lts-utopic         3.16.0.43.34                            i386         lowlatency Linux kernel headers

वास्तव में, ग्रब मेनू का उपयोग करने की सलाह तुरंत एक बड़ी मदद है। मैं एक एकल-स्थापित (समर्पित उबंटू मशीन) पर हूं, और ऐसा कभी नहीं देखा है - इन निर्देशों के माध्यम से सक्षम । पिछले कर्नेल संस्करण, और वाइन एप्स टिक टिक-बू काम करते हैं। :)
D

1
आपका जवाब, एक कमांड में: sudo apt-get purge `dpkg --get-selections | grep -v "deinstall" | cut -f1 | grep 4.4.0-28 | tr '\n' ' '`( 4.4.0-28 को उस संस्करण के साथ बदलें जिसे आप हटाना चाहते हैं)
knocte

4

यह उत्तर कर्नेल को वापस लाने के बारे में नहीं है। लेकिन, FYI करें, मूल समस्या जिसके कारण शराब की खराबी 3.13.0-59-जेनेरिक कर्नेल में हुई है; और नया 3.13.0-61-जेनेरिक संस्करण अब उपलब्ध है।

मैंने मैन्युअल रूप से सॉफ़्टवेयर अपडेटर शुरू किया और यह 3.13.0-61-जेनेरिक स्वचालित रूप से अपग्रेड हो गया; अब मेरे वाइन एप्लिकेशन फिर से लॉन्च होंगे।


वास्तव में - मुझे आज सुबह ही अपडेट मिला, और सब ठीक है। मेरे लिए, कल काम से संबंधित ऐप्स के लिए वाइन का उपयोग करने की आवश्यकता है, पुराने कर्नेल को बूट करने के लिए ग्रब मेनू का उपयोग करना जो मुझे जानना आवश्यक था। तो नहीं, काफी "रोल बैक" नहीं है, लेकिन मुझे यकीन नहीं था कि उस समय किस भाषा का उपयोग करना था। इनपुट के लिए धन्यवाद!
44v .d

-2

बस एक विशिष्ट कर्नेल को डिफ़ॉल्ट के रूप में सेट करने के लिए grep config फाइल को संपादित करें: मैन्युअल रूप से एक विशिष्ट कर्नेल को डिफ़ॉल्ट के रूप में सेट करना

बूट करने के लिए एक विशेष कर्नेल को मैन्युअल रूप से सेट करने के लिए, उपयोगकर्ता को /etc/default/grubफ़ाइल को सुपरयुसर / रूट के रूप में संपादित करना होगा ।

sudo nano /etc/default/grub

संपादित करने के लिए लाइन है GRUB_DEFAULT=0। इस पंक्ति को वांछित सेटिंग में स्थापित करने के बाद (नीचे देखें), फ़ाइल को सहेजें और निम्न कमांड का उपयोग करके GRUB 2 कॉन्फ़िगरेशन फ़ाइल को अपडेट करें:

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