您的位置:首页 > 运维架构 > Linux

centos7 boot空间不够用的解决方案

2015-11-15 12:39 519 查看
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,解决办法:

1. umount /boot
2. mkdir /boot_old
3. mount /dev/sda1  /boot_old
4. 到/boot_old目录下: cp -rp * /boot
5. 删除/etc/fstab表中含有 /boot项

该方法是取消将/boot挂在到sda1上,而是直接使用/boot目录,但是需要将原来在/dev/sda1上的文件拷贝到/boot下。 

以上原地址为:http://blog.sina.com.cn/s/blog_6f5549150102vcsa.html

当然,还有的说直接重新装,这种就不用了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux centos boot