怎么在Ubuntu系统中删除无用的Linux内核
更新:HHH   时间:2023-1-7


怎么在Ubuntu系统中删除无用的Linux内核?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

查找无用的镜像

首先可查看当前用的内核是哪个,可通过命令:uname -a 来获得信息。例如我台式机上显示为:

复制代码

代码如下:


magc@magc-desktop:~$ uname -a


Linux magc-desktop 2.6.24-19-rt #1 SMP PREEMPT RT Thu Aug 21 02:08:03 UTC 2008 i686 GNU/Linux

然后通过查看本机上所有内核的列表来决定哪些需要删除掉:

运行命令:

复制代码

代码如下:

dpkg --get-selections|grep linux

例如我本机显示为:

复制代码

代码如下:


magc@magc-desktop:~$ dpkg --get-selections|grep linux


libselinux1 install
linux-generic install
linux-headers-2.6.24-19 install
linux-headers-2.6.24-19-generic install
linux-headers-2.6.24-19-rt install
linux-headers-2.6.24-21 install
linux-headers-2.6.24-21-generic install
linux-headers-2.6.24-21-rt install
linux-headers-generic install
linux-headers-rt install
linux-image-2.6.24-19-generic deinstall
linux-image-2.6.24-19-rt install
linux-image-2.6.24-21-generic install
linux-image-generic install
linux-image-rt install
linux-restricted-modules-2.6.24-19-generic deinstall
linux-restricted-modules-2.6.24-19-rt install
linux-restricted-modules-2.6.24-21-generic install
linux-restricted-modules-common install
linux-restricted-modules-generic install
linux-restricted-modules-rt install
linux-rt install
linux-sound-base install
linux-ubuntu-modules-2.6.24-19-generic deinstall
linux-ubuntu-modules-2.6.24-19-rt install
linux-ubuntu-modules-2.6.24-21-generic install
util-linux install
util-linux-locales install
其中带有image的就是内核文件,因此可看出我的机器上共五个内核版本。我当前使用的是2.6.24-19-rt,所以决定将其它没用的内核删除。

如何清理旧内核镜像
在删除旧内核之前,记住最好留有2个最近的内核(最新的和上一个版本),以防主要的版本出错。现在就让我们看看如何在Ubuntu上清理旧内核。

在Ubuntu内核镜像包含了以下的包。

linux-image-: 内核镜像
linux-image-extra-: 额外的内核模块
linux-headers-: 内核头文件
首先检查系统中安装的内核镜像。
 

复制代码

代码如下:


$ dpkg --list | grep linux-image
$ dpkg --list | grep linux-headers


在列出的内核镜像中,你可以移除一个特定的版本(比如3.19.0-15)。

复制代码

代码如下:


$ sudo apt-get purge linux-image-3.19.0-15
$ sudo apt-get purge linux-headers-3.19.0-15


上面的命令会删除内核镜像和它相关联的内核模块和头文件。

注意如果你还没有升级内核那么删除旧内核会自动触发安装新内核。这样在删除旧内核之后,GRUB配置会自动升级来移除GRUB菜单中相关GRUB入口。

如果你有很多没用的内核,你可以用shell表达式来一次性地删除多个内核。注意这个括号表达式只在bash或者兼容的shell中才有效。
 

复制代码

代码如下:


$ sudo apt-get purge linux-image-3.19.0-{18,20,21,25}
$ sudo apt-get purge linux-headers-3.19.0-{18,20,21,25}


面的命令会删除4个内核镜像:3.19.0-18、3.19.0-20、3.19.0-21 和 3.19.0-25。

如果GRUB配置由于任何原因在删除旧内核后没有正确升级,你可以尝试手动用update-grub2命令来更新配置。
 

复制代码

代码如下:


$ sudo update-grub2

看完上述内容,你们掌握怎么在Ubuntu系统中删除无用的Linux内核的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注天达云行业资讯频道,感谢各位的阅读!

返回系统运维教程...