boot目录相信当家都不会陌生,一般系统里面都会有一个boot目录,它主要是存放一些系统的内核的配置文件,以及启动管理程序GRUB的目录。一般情况下,在我们分区的时候,boot的目录都不会太大,一般默认的好像之后100M(我自己分了一个200M,不够用,早知道分大一点了),因为考虑到只是一些配置文件,我在分区的时候也没有太注意,也就是随意搞了一个200M,结果在升级几次内核之后就发现问题了,boot满了。于是乎就在网上找了几种解决方案:
1 清理旧内核【我采用的】:
首先我们要查看我们自己的内核版本:uname -r 或在uname -a都可以的,只是一个复杂一点,一个直观一点,如下
[wanggang@localhost ~]$ uname -a
Linux localhost.localdomain 3.10.0-229.20.1.el7.x86_64 #1 SMP Tue Nov 3 19:10:07 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
[wanggang@localhost ~]$ uname -r
3.10.0-229.20.1.el7.x86_64
查到了正在使用的版本,那么现在需要查看系统里面的其他版本了,也可以使用两个命令:rpm -q kernel或在rpm -qa | grep kernel来查看系统中存在的kernel
当然,也是直观与不直观的问题【因为我的已经把以前的给清理了,所以这里没有】
[root@localhost wanggang]# rpm -qa | grep kernel
kernel-devel-3.10.0-229.14.1.el7.x86_64
kernel-tools-3.10.0-229.20.1.el7.x86_64
kernel-devel-3.10.0-229.el7.x86_64
kernel-3.10.0-229.20.1.el7.x86_64
kernel-devel-3.10.0-229.20.1.el7.x86_64
kernel-tools-libs-3.10.0-229.20.1.el7.x86_64
kernel-headers-3.10.0-229.20.1.el7.x86_64
abrt-addon-kerneloops-2.1.11-22.el7.centos.0.1.x86_64
[root@localhost wanggang]# rpm -q kernel
kernel-3.10.0-229.20.1.el7.x86_64
由于我的只用到了kernel-3.10.0-229.20.1.el7.x86_64,所以其他的我就移除了。
然后使用如下yum或在rpm命令进行卸载不必要的内核:
yum remove kernel-3.10.0-229.14.1.el7
或在 rpm -e kernel-3.10.0-229.14.1.el7.x86_64
删除之后使用df -lh 【我比较喜欢用这个,因为直观】查看boot的使用情况即可
/dev/mapper/centos-root 291G 8.4G 282G 3% /
devtmpfs 1.8G 0 1.8G 0% /dev
tmpfs 1.8G 148K 1.8G 1% /dev/shm
tmpfs 1.8G 9.0M 1.8G 1% /run
tmpfs 1.8G 0 1.8G 0% /sys/fs/cgroup
/dev/sda5 190M 94M 83M 54% /boot
/dev/sda4 1022M 9.8M 1013M 1% /boot/efi
/dev/mapper/centos-data 489G 35G 454G 8% /data
这里只是做了一个例子,实际上我的系统里面删除了两个旧的内核。删除之后使用reboot重启即可【前提是不出任何问题,我用这个方法暂时没有出现任何问题】
以上方法参考:http://changmingzhi.blog.163.com/blog/static/29678048201427102846164/
2 将boot移除,然后重新添加新的boot目录,这种方法我还没有使用,下次在虚拟机上面试过之后再在这里说明,这里只是做一个记录:
由于安装系统时没有仔细看,/boot目录默认设置只有100M,这样编译几个版本的内核/boot空间就不够用了。mount一下,看到/boot目录被挂在到/dev/sda1上,空间只有100M,解决办法: