如何Linux删除内核

时间:2020-01-09 14:16:14  来源:igfitidea点击:

问题描述:如何从Linux发行版中删除Linux内核?

A. Linux内核和相关文件存储在以下位置:

=>/boot存储实际的内核和相关文件,例如系统man和initrd镜像,

=>/etc或/boot/grub存储grub.conf文件(最近大多数发行版使用/boot/grub)。

=>/iib/modules/KERNEL-VERSION/* Linux设备驱动程序(模块)

如果内核是使用二进制软件包系统(例如rpm,yum,up2date,apt-get等)安装的,则可以使用以下命令删除:

基于RPM的发行版Red Hat/CentOS/Fedora Core/Suse Linux

首先使用以下命令找出所有已安装的内核版本:

# rpm -qa | grep kernel-smp

或者

# rpm -qa | grep kernel

输出:

kernel-smp-2.6.9-42.EL
kernel-smp-2.6.9-42.0.3.EL
kernel-smp-2.6.9-42.0.8.EL

我总共安装了3个不同的内核。
要删除kernel-smp-2.6.9-42.EL,请输入以下命令:

# rpm -e kernel-smp-2.6.9-42.EL

或者

# rpm -vv -e kernel-smp-2.6.9-42.EL

基于.deb的发行版Debian或Ubuntu Linux

再次找出所有已安装的内核版本:

$ dpkg --list | grep kernel-image

输出:

ii  kernel-image-2.4.27-2-386   2.4.27-10sarge1             Linux kernel image for version 2.4.27 on 386
ii  kernel-image-2.6.8-2-686    2.6.8-16sarge1              Linux kernel image for version 2.6.8 on PPro

现在使用apt-get命令本身删除kernel-image-2.4.27-2-386:

# apt-get remove kernel-image-2.4.27-2-386

或者

$ sudo apt-get remove kernel-image-2.4.27-2-386

如果您具有定制的编译内核,则需要删除以下文件/目录:

  • /boot/vmlinuzKERNEL-VERSION
  • /boot/initrdKERNEL-VERSION
  • /boot/System-mapKERNEL-VERSION
  • /boot/config-KERNEL-VERSION
  • /lib/modules/KERNEL-VERSION/
  • 更新grub配置文件/etc/grub.conf或/boot/grub/menu.lst以指向正确的内核版本。

注意:删除正在运行的内核可能会导致Linux服务器系统不稳定/不可引导。