首页 服务器系统 Linux

Linux的boot分区空间不足,旧内核太多怎么办?


Linux系统在分区的时候一般不会分配过多的磁盘空间给启动分区/boot,通常情况下是500MB左右。通常在升级内核后,系统并不会自动删除旧内核,在多次升级内核之后,在系统启动选项中会出现多个内核选项,久而久之就会出现/boot分区逐渐减小、最后boot分区空间不足导致无法更新内核的情况。我们可以删除一些较旧的内核解决这个问题,下面以RHEL和CentOS为例,介绍删除旧的内核方法。

方法一:使用yum命令删除旧的内核软件包,这种方法不用安装额外的YUM工具,手动一个一个地删除内核,比较麻烦。

1. 查看系统当前使用的内核版本,别把当前的内核给删除了。

#uname -a

2. 查看系统中所有已安装的内核RPM包。

#rpm -qa | grep kernel

3. 自行选择删除旧内核的RPM包。

#yum -y remove kernel-version-number

注:此命令仅为举例说明,请以系统中实际存在的内核包为准。

方法二:使用yum工具删除旧的内核软件包。需要安装额外的YUM工具,但操作简单不容易出错。

1. 安装YUM工具。

#yum -y install yum-utils

2. 查看系统中所有已安装的内核RPM包。

#rpm -qa kernel

3. 使用命令package-cleanup命令清理旧的不再需要的内核,count参数值表示你想保留的较新的内核个数。

#package-cleanup --oldkernels --count=2

使用以上任一种方法清理旧的不再需要的内核之后,使用命令df -h 查看当前/boot分区的使用情况。

另外你可以在YUM配置文件中根据实际的boot分区大小和业务需要设置需要保留的内核个数,这样后面就不会boot分区空间不足了,系统默认保留内核个数为3,假如你想设置为2,修改 /etc/yum.conf ,设置:

installonly_limit=2



相关推荐