ubuntu16.04 /boot 分区满了更新内核时导致apt出现错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ubuntu16.04 /boot 分区满了更新内核时导致apt出现错误相关的知识,希望对你有一定的参考价值。

参考技术A 问题场景:

​ 更新内核,出现问题,提示文件写入不了/boot分区。仔细用 df -h 一看,/boot分区占用100%了。

​ 这个时候apt也用不了了,什么软件也安装不了,提示依赖问题。

问题总结:

​ 更新内核时由于需要安装到/boot分区,但是/boot分区是满的,无法更新软件。导致apt的安装程序收阻,这也是一个bug吧。完全无法恢复,只能扩大/boot分区,才行。

解决方法:

​ 假设有如下几个分区:

​ 在图形界面使用gparted这个软件,sudo apt-get install gparted。来进行硬盘操作。

具体的使用方法我就不多说了,这不是主题,既然会玩linux,这就不是问题。

这个有个必须的操作,需要把旧分区的内容全部复制到新分区上



​ 挂在新硬盘到/mnt分区:sudo mount /dev/sda3 /mnt

​ 把旧/boot分区的内容复制到新分区上:sudo rsync -av /boot/ /mnt/

​ 卸载原/boot分区:sudo umount /boot

​ 卸载新分区所在的mnt文件夹:sudo umount /mnt

​ 挂在新分区到/boot下:sudo mount /dev/sda3 /boot

​ 查看新分区的UUID信息:sudo lbkid #查看/dev/sda3分区的UUID

​ 如下例子:

​ UUID=883fa013-48ba-473e-b8bc-5c4d910872ff /boot ext4 defaults 02

​ 把新分区的UUID写到到文件里,覆盖旧分区的UUID。

Ubuntu boot分区满了,解决办法


查看当前系统启动用的内核版本

[email protected]:/boot# uname -rm
4.4.0-92-generic x86_64
[email protected]:/boot#



列出安装过的内核版本

[email protected]:/boot# dpkg --get-selections |grep linux-image
linux-image-4.4.0-21-generic			deinstall
linux-image-4.4.0-45-generic			deinstall
linux-image-4.4.0-47-generic			deinstall
linux-image-4.4.0-51-generic			deinstall
linux-image-4.4.0-53-generic			deinstall
linux-image-4.4.0-57-generic			deinstall
linux-image-4.4.0-59-generic			deinstall
linux-image-4.4.0-62-generic			deinstall
linux-image-4.4.0-64-generic			deinstall
linux-image-4.4.0-66-generic			deinstall
linux-image-4.4.0-67-generic			deinstall
linux-image-4.4.0-71-generic			deinstall
linux-image-4.4.0-72-generic			deinstall
linux-image-4.4.0-75-generic			install
linux-image-4.4.0-78-generic			install
linux-image-4.4.0-79-generic			install
linux-image-4.4.0-81-generic			install
linux-image-4.4.0-83-generic			install
linux-image-4.4.0-87-generic			install
linux-image-4.4.0-89-generic			install
linux-image-4.4.0-91-generic			install
linux-image-4.4.0-92-generic			install
linux-image-4.4.0-93-generic			install
linux-image-extra-4.4.0-21-generic		deinstall
linux-image-extra-4.4.0-45-generic		deinstall
linux-image-extra-4.4.0-47-generic		deinstall
linux-image-extra-4.4.0-51-generic		deinstall
linux-image-extra-4.4.0-53-generic		deinstall
linux-image-extra-4.4.0-57-generic		deinstall
linux-image-extra-4.4.0-59-generic		deinstall
linux-image-extra-4.4.0-62-generic		deinstall
linux-image-extra-4.4.0-64-generic		deinstall
linux-image-extra-4.4.0-66-generic		deinstall
linux-image-extra-4.4.0-67-generic		deinstall
linux-image-extra-4.4.0-71-generic		deinstall
linux-image-extra-4.4.0-72-generic		deinstall
linux-image-extra-4.4.0-75-generic		install
linux-image-extra-4.4.0-78-generic		install
linux-image-extra-4.4.0-79-generic		install
linux-image-extra-4.4.0-81-generic		install
linux-image-extra-4.4.0-83-generic		install
linux-image-extra-4.4.0-87-generic		install
linux-image-extra-4.4.0-89-generic		install
linux-image-extra-4.4.0-91-generic		install
linux-image-extra-4.4.0-92-generic		install
linux-image-extra-4.4.0-93-generic		install
linux-image-extra-4.4.0-96-generic		install
[email protected]:/boot#



把与当前版本不符的全部删除,只保留92版的两个包

[email protected]:/boot# apt-get autoremove linux-image-4.4.0-75-generic
[email protected]:/boot# apt-get autoremove linux-image-extra-4.4.0-75-generic
类似的,把其他版一一删除

提示:/boot分区没有空间,可能导致无法卸载。



重新平衡:

[email protected]:/boot# apt-get autoremove -f
[email protected]:/boot# apt-get install -f




重启系统

[email protected]:/boot# reboot




本文出自 “李春利” 博客,请务必保留此出处http://990487026.blog.51cto.com/10133282/1967124

以上是关于ubuntu16.04 /boot 分区满了更新内核时导致apt出现错误的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu boot分区满了,解决办法

Linux操作系统怎么解决“/boot”分区满了

ubuntu / 根目录满了

uefi下安装ubuntu分区时,是否一定要分一个boot分区挂载到/boot

uefi下安装ubuntu分区时,是否一定要分一个boot分区挂载到/boot

装好ubuntu之后,发现分区有点问题: /boot 分得太大了, /home 太少了,我想把它加大点, 高手们有何良策