首页 > 系统 > Ubuntu > 正文

Ubuntu系统下如何删除无用的Linux内核

2020-02-24 16:07:59
字体:
来源:转载
供稿:网友

我们在学习linux知识的时候经常会需要查看Linux源代码、编译linux内核那些,当我们发现无用的linux内核时就需要删除,那么你知道Ubuntu系统下如何删除无用的Linux内核吗?

查找无用的镜像

使用Ubuntu一段时间后,就会发觉由于自动升级,系统里安装了很多内核。始终用不到的旧内核有必要清理一下,以节省启动时间和硬盘空间。

首先可查看当前用的内核是哪个,可通过命令: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


现在就重启来验证GRUB菜单是否已经正确清理了。

这篇文章主要介绍了Ubuntu系统下如何删除无用的Linux内核的内容,因为Linux更新内核后没有CCleaner工具来清理所以只能用这个方法。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选