ฉันจะลบเคอร์เนล mainline และย้ายกลับไปยังเคอร์เนลที่รองรับได้อย่างไร


11

ฉันเพิ่งอัพเกรดเป็นเคอร์เนล 3.4 ใน Ubuntu 12.04 ของฉัน หลังจากนั้นคอมพิวเตอร์จะไม่บู๊ต ดังนั้นฉันจึงใช้เคอร์เนลก่อนหน้าเพื่อบู๊ต ที่จริงฉันไม่ต้องการ 3.4 เคอร์เนล ดังนั้นฉันจะลบออกและใช้ตัวก่อนหน้าได้อย่างไร

คำตอบ:


8

คุณติดตั้งมันได้อย่างไร? หากคุณเพิ่งโหลดไฟล์ deb และติดตั้งการกำจัดมันง่ายพอ ๆ กับการค้นหาแพ็คเกจและใช้งานapt-get removeแต่ละไฟล์

ฉันเพิ่งมีกาแฟหนึ่งแก้วเพื่อที่คุณจะได้พูดถึงความหนักแน่นของ bashfu ของฉันในเช้านี้ ... นี่ควรบอกคุณได้ว่าเมล็ดอะไรติดตั้งอยู่:

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 จะทำก่อนที่คุณจะตอบตกลง การเอาเมล็ดออกในปัจจุบันและเมล็ดทั้งหมดเป็นสถานการณ์ที่พบได้ทั่วไปที่ผู้ใช้ Ubuntu พบว่าเป็นสิ่งที่ไม่น่าแปลกใจ แต่ไม่ได้ทำอย่างนั้น!

ระมัดระวังโดยเฉพาะอย่างยิ่งกับสัญลักษณ์และ apt-get หากคุณไม่เชื่อว่าฉันวิ่งapt-get -s remove linux-image-3.4*และดูว่ามันเลือกอะไร (ใช่ - เมล็ดทั้งหมด ) ไม่ต้องกังวลว่าคำสั่งจะอยู่ใน "โหมดจำลอง" ดังนั้นมันจะไม่ทำอะไรเลย (และไม่จำเป็นต้องรูท)


เกือบสี่ปีต่อมาคำเตือนของคุณยังคงเป็นจริง ฉันแค่ขี้เกียจ - ห่างจาก ... วันที่ปวดหัวเมื่อฉันอ่านคำยืนยันอย่างใกล้ชิดมากกว่าปกติ ช่างเป็นสายที่ใกล้ชิด!
รอยแยกของกษัตริย์

คุณสามารถกู้คืนจากมันเป็นเพียงความเจ็บปวดที่ด้านล่างเมื่อคุณไม่ได้คาดหวัง
Oli

7

ถอนการติดตั้ง Mainline Kernels

เคอร์เนล mainline มีเนมสเปซ ABI ของตนเองดังนั้นพวกเขาจึงติดตั้งเคียงข้างกันกับเมล็ดอูบุนตูหุ้น (แต่ละเคอร์เนลมีไดเรกทอรีแยกต่างหากภายใต้/lib/modules/VERSION) ซึ่งหมายความว่าคุณสามารถเก็บ mainline และอูบุนต์สต็อกไว้ได้หลายตัวพร้อมกันและเลือกอันที่คุณต้องการจากเมนูการบูต GRUB

หากคุณต้องการถอนการติดตั้งเคอร์เนล mainline อยู่ให้ใช้ครั้งแรก:

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

เพื่อค้นหาชื่อที่แน่นอนของเคอร์เนลแพ็กเกจที่คุณต้องการถอนการติดตั้งจากนั้นทำ:

sudo apt-get remove KERNEL_PACKAGES_TO_REMOVE

โปรดจำไว้ว่าแพ็คเกจต่างๆเป็นของเคอร์เนลเวอร์ชันเดียว: ส่วนหัวทั่วไปส่วนหัวเฉพาะสถาปัตยกรรมและรูปภาพเฉพาะสถาปัตยกรรม

ที่มา: https://wiki.ubuntu.com/Kernel/MainlineBuilds#Uninstalling_Mainline_Kernels

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.