本文已迁移到我的新博客地址:blog.favorstack.io,欢迎访问~
写这篇文章,一定是因为按照常规没能解决问题。
本文介绍了如何解决 /boot 分区空间不足以及因 /boot 空间不足导致的卸载旧内核失败的问题
按照常规方法未能卸载的,直接跳到第三节:
一、系统:Ubuntu12.10 (GNU/Linux 3.5.0-25-generic x86_64)
最近登录开发服务器时总是看到这样一句提示(红色部分):
Welcome to Ubuntu 12.10 (GNU/Linux3.5.0-25-generic x86_64)
*Documentation: https://help.ubuntu.com/
Systeminformation disabled due to load higher than 4.0
System load: 1.5 Processes: 128
Usage of /: 8.2% of452.47GB Users logged in: 0
Memory usage: 78% IP address for p5p1: 172.16.5.2
Swap usage: 34%
=> /boot is using 96.5% of 228MB
Graph this data and manage this system athttps://landscape.canonical.com/
New release '13.04' available.
Run 'do-release-upgrade' to upgrade to it.
*** System restart required ***
You have new mail.
Last login: Wed Jul 31 10:17:37 2013 from172.16.7.6
devel@devServer:~$
今天终于忍不住想解决一下,先看一下分区使用情况吧:
devel@devServer:~$ df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/devServer-root 453G 41G 389G 10% /
udev 1.9G 12K 1.9G 1% /dev
tmpfs 776M 7.0M 770M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 1.9G 0 1.9G 0% /run/shm
none 100M 0 100M 0% /run/user
/dev/sda2 229M 221M 0 100% /boot
/dev/sda1 190M 126K 190M 1% /boot/efi
devel@devServer:~$
好吧,我和我的小伙伴们都惊呆了!,/boot分区100%了(不要怪我,当初进公司时还没有服务器,那天搭建环境装系统时,老总图省事,一路下一步,就成这个样子了),Linux默认分区时,boot分区就200多M,按理说也不小,足够了(实际也就几十M),但是内核经常性的升级,而且自己又不自动卸载,于是该目录下旧的内核文件越积越多,最后就满了。
对于boot分区,不像LV里面的分区,可大可小,它一般是挂在单独的物理分区上的,所以就不考虑怎么扩容了,还是先看看怎么把浪费的空间回收吧,去网上学习了一下,取回两条命令:
查看系统所有内核:dpkg --get-selections |grep linux-image
卸载内核:sudo apt-get remove linux-image-3.2.0-17-generic
注意:实际运行时,系统提示要使用autoremove,经查,autoremove与remove的区别是,它可以连同当初自动安装的依赖(或推荐)包(同时未被其他包依赖)也一同卸载,我们将采用这个命令。
先在备份服务器上操作一下看看效果,再搞开发服务器(万一宕掉。。。)
这台是我分的区,boot分区分的比默认的大一倍(看来还是有好处的):
二、系统:Ubuntu12.04 LTS (GNU/Linux 3.2.0-39-generic x86_64)
devel@devDBServer:~$ df -lh
Filesyste