Ubuntu 16.04 更新内核时出现 /boot 空间占满无法解压的解决方法

Linux运维

发表时间:
作者:Ivan
热度:0

尝试

看看磁盘空间占用情况:

df -h

再看看都装了那些内核(排除当前使用的内核):

dpkg -l | tail -n +6| grep -E 'linux-image-[0-9]+'| grep -Fv $(uname -r)

然后开始卸载(比如我要卸载的是:linux-image-4.4.0-93):

sudo apt-get purge linux-image-4.4.0-93
sudo apt-get purge linux-headers-4.4.0-93

Ubuntu 告诉我安装内核还没成功,不让干别的。。。

那就想办法安装内核吧

各种 clean各种-f都没啥用,也没搜到什么解决办法,只好把内核相关给备份下,然后请出 /boot

安全起见,先在服务商那备份了服务器数据,然后看看当前系统用的内核版本:

uname -r

正好,我使用的内核版本是 4.12.6-041206-generic,其他内核都是 4.4.0-* 的版本,在 /boot/下执行下面命令移动文件到 Home(记得保存到干净的目录下,不然不好移回去):

sudo mv *4.4.0-* ~

这下再看看空间占用情况:

df -h

应该能看到空间是多么充裕吧?然后继续更新包:

sudo apt upgrade

不出意外的话,更新是能 done 的。

只要更新成功了,下一步,清理下垃圾(这次就是因为没清理旧内核导致的问题,我要强迫自己清理下)

sudo apt autoremove && sudo apt autoclean

再看看内核

 dpkg -l | tail -n +6| grep -E 'linux-image-[0-9]+'| grep -Fv $(uname -r)

结果:

ii  linux-image-4.4.0-101-generic       4.4.0-101.124                              i386         Linux kernel image for version 4.4.0 on 32 bit x86 SMP
ii  linux-image-4.4.0-116-generic       4.4.0-116.140                              i386         Linux kernel image for version 4.4.0 on 32 bit x86 SMP
ii  linux-image-4.4.0-62-generic        4.4.0-62.83                                i386         Linux kernel image for version 4.4.0 on 32 bit x86 SMP
ii  linux-image-4.4.0-92-generic        4.4.0-92.115                               i386         Linux kernel image for version 4.4.0 on 32 bit x86 SMP
ii  linux-image-4.4.0-93-generic        4.4.0-93.116                               i386         Linux kernel image for version 4.4.0 on 32 bit x86 SMP
pi  linux-image-4.4.0-97-generic        4.4.0-97.120                               i386         Linux kernel image for version 4.4.0 on 32 bit x86 SMP
rc  linux-image-4.4.0-98-generic        4.4.0-98.121                               i386         Linux kernel image for version 4.4.0 on 32 bit x86 SMP

还是一堆内核,那就把之前备份的数据再移回来吧!

mv ~/*4.4.0* .

然后我们利用 byoub 来清理下旧内核: 先安装,再清理。

sudo apt install byobu
sudo purge-old-kernels

接下来,我们看看内核还有几个:

dpkg -l | tail -n +6| grep -E 'linux-image-[0-9]+'| grep -Fv $(uname -r)

结果:

rc  linux-image-4.4.0-101-generic       4.4.0-101.124                              i386         Linux kernel image for version 4.4.0 on 32 bit x86 SMP
ii  linux-image-4.4.0-116-generic       4.4.0-116.140                              i386         Linux kernel image for version 4.4.0 on 32 bit x86 SMP
rc  linux-image-4.4.0-98-generic        4.4.0-98.121                               i386         Linux kernel image for version 4.4.0 on 32 bit x86 SMP

这工具会保留最近三个版本(包括目前使用的在内)的内核。

大工告成

虽然搞定了,不过我感觉这波操作不过稳,估计还有更好的方法,可惜没找到解决方法。如果有哪位大佬有高招,还望能点拨点拨我~

登录 后发言

评论列表

暂时没有评论,快快抢个沙发吧!

共 0 条