Bagaimana cara menghapus kernel yang tidak berfungsi setelah pembaruan?

15

Saya sudah. pertanyaan sederhana. Setelah saya memperbarui kernel saya, saya tidak bisa boot (macet di layar ungu) kecuali saya memilih kernel lama. Jadi bagaimana cara menghapus kernel baru dengan synaptic. Dan bagaimana saya melakukan ini dengan aman? Saya di Quantal Quetzel. Kernel saya 3.5.0-40. Kernel yang berfungsi adalah 3.5.0-39. Juga, bagaimana cara menghentikan pembaruan kernel agar tidak muncul di manajer pembaruan? Terima kasih.

Dave
sumber
apa versi Kernel? Anda ingin menghapus?
mojo706
Kernel saya 3.5.0-40
Dave
1
Jika Anda lebih suka jawaban menyertakan informasi tentang mencegah kernel baru tidak dipasang lagi dengan pembaruan Anda yang lain , Anda mungkin ingin memasukkannya dalam pertanyaan Anda.
Eliah Kagan
Saya pikir tidak bijaksana untuk menghapus kernel atau menghentikan pembaruan kernel, karena biasanya pembaruan keamanan. Lihat pertanyaan ini tentang praktik yang lebih baik.
jarno

Jawaban:

28

Untuk menghapus kernel yang tidak diinginkan dengan aman, buka sesi terminal dan jalankan perintah:

Temukan nama paket kernel

dpkg -l | grep linux-image

Pada saat penulisan, pada amd64/x86_64 arsitektur nama gambar adalah:linux-image-$(uname -r)-generic

Untuk gambar kernel yang tidak ditandatangani, seperti yang dibuat oleh driver nvidia, gambarnya bisa: linux-image-unsigned-4.20.17-042017-generic

Hapus (bersihkan - hapus semua file konfigurasi juga)

sudo apt-get purge linux-image-3.5.0-40-generic

CATATAN: Untuk Ubuntu 18.04 LTS atau lebih baru, Anda mungkin juga ingin menghapus paket apa pun linux-modulesatau linux-headersdari versi yang sama untuk menghemat ruang disk / membuat sistem Anda tetap ramping.

Terry Wang
sumber
Oh tidakkah saya perlu melakukan sudo update-grub setelah itu?
Dave
Skrip postrm dari paket akan memperbarui grub untuk Anda ketika Anda menghapus (bersihkan) ;-)
Terry Wang
Terima kasih Terry yang telah memperbaiki masalah saya. Sekarang bagaimana cara menjaga pembaruan kernel dari manajer pembaruan?
Dave
sudo apt-get update && apt-get dist-upgrade -y, tidak yakin apakah Anda memiliki linux-current-genericatau linux-image-generic-lts-raringpada rilis non-LTS.
Terry Wang
2
sudo apt-get remove linux-image-3.5.0-40*.

Saya akan menyarankan Anda selalu menyimpan setidaknya satu kernel lama, untuk berjaga-jaga jika Anda perlu mem-bootnya untuk alasan yang mungkin tidak pernah Anda harapkan saat ini.

perajin
sumber
Yaitu tentang menjaga kernel. Hal yang sangat penting. Saya punya satu lagi selain yang ini. Ty saya akan mencobanya besok dan memposting kembali.
Dave
0

Tidak ada jawaban lain untuk pertanyaan ini yang tampaknya benar. Jawaban lengkapnya adalah campuran keduanya dengan beberapa koreksi lebih lanjut;

sudo apt-get purge *4.18.0-21*

Apakah 4.18.0-21nomor kernel Anda, gunakan ls /bootuntuk melihatnya.

Inilah yang melakukannya untuk saya (meskipun harus menjalankan perintah serupa dua kali untuk menyingkirkan /lib/modules/4.18.0-21-generic).

Gunakan perintah ini dengan hati-hati untuk memastikan Anda tidak menghapus apa pun yang diperlukan.

Sebagai catatan tambahan yang menarik, dalam kasus saya linux-headers-generic-hwe-18.04juga dihapus, dan ketika saya mencoba menginstalnya kembali, ia ingin menginstal kernel terbaru lagi, jadi jangan lakukan itu. Dan, penelitian memang membuktikan bahwa itu adalah bagian dari kernel 4.18.0-21; https://packages.ubuntu.com/bionic-updates/linux-headers-generic-hwe-18.04

Roel Van de Paar
sumber