Linux.中国 - 开源社区

 找回密码
 骑士注册

QQ登录

微博登录


如何在Ubuntu上修复“Not Enough Free Disk Space On /boot”

2015-4-8 10:32    评论: 9 收藏: 1    

提问:如何在Ubuntu上修复“Not Enough Free Disk Space On /boot”错误?

今天,当我在升级Lubuntu 14.04的时候遇到了下面这个错误,但是很简单。

“Not Enough Free Disk Space On /boot”

这是因为我的 /boot 分区被不再需要的旧内核与包塞满了。

回答:

我听说Ubuntu Tweak中的Computer Janitor功能可以删除不想要的垃圾文件。使用Computer Janitor,你可以将你的系统清理成像新安装的那样。Janitor会删除:

  • 程序缓存(Firefox/Chrome 缓存、软件中心缓存);
  • 略缩图缓存;
  • apt缓存;
  • 旧内核;
  • 包的配置;
  • 不再需要的包。

如果你还没有安装这个工具,参考下面的链接

要删除不需要的垃圾文件,打开Ubuntu Tweak,点击 Janitor 选项。

选择你想要删除的文件的选框,并点击 Clean 按钮。

Janitor现在就开始清理你的系统了。

真酷!系统清理完成了。

我重启启动了软件更新。这个没再遇到问题了。

就是这样。当然也有其他的方法可以清理系统。但是,这个方法很容易学。我们可以只点击几次鼠标就可以清理系统。

干杯!


via: http://www.unixmen.com/how-to-fix-not-enough-free-disk-space-on-boot-in-ubuntu/

作者:SK 译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

发表评论


最新评论

我也要发表评论

linux 2015-4-10 13:21
1
来自 - 河北保定 的 Chrome/Linux 用户 发表于 2015-4-10 11:09 的评论:
直接不分/boot分区就毛事没有了
别的分区不分可以,但是我认为 /boot 和 /var 应该分出来,理由如下:
1、/boot 分出来,有利于处理引导问题,如果引导出现问题了,你单独制作一个引导分区会方便一些
2、/var 分出来的原因是,/var 下存储了大量的日志,一方面日志频繁写入,该分区的硬件损坏的几率高一些,另外一方面,日志增长有时候是不可预计的,所以建议分出去。
回复
来自 - 河北保定 的 Chrome/Linux 用户 2015-4-10 11:09
直接不分/boot分区就毛事没有了
6 回复
来自 - 四川成都 的 Chrome/Linux 用户 2015-4-8 13:51
1
Esteem 发表于 2015-4-8 11:32 的评论:
以防万一,我一般在系统中保存两个临近版本的内核.
我一般是在使用新内核一段时间没有问题,就把旧内核清理了。
1 回复
来自 - 四川成都 的 Chrome/Linux 用户 2015-4-8 13:49
这是我的方案,先执行

sudo yum autoremove "$(rpm --query --all | grep --ignore-case '^kernel-' | grep --invert-match $(uname --kernel-release | cut --delimiter='-' --fields=1))"

也可以先执行

rpm --query --all | grep --ignore-case '^kernel-' | grep --invert-match $(uname --kernel-release | cut --delimiter='-' --fields=1)

人工确认没有问题后再执行。

最后是最早写的 deb 的方法,有一段时间没有用了,用之前要测试一下。

dpkg --list | grep -i 'linux-[hi]' | grep -i -v 'linux-image-generic' | grep -i -v 'linux-headers-generic' | grep -i -v $(uname --kernel-release | sed 's/-generic//g') | awk '{print $2}' | tr '\n' ' '
3 回复
linux 2015-4-8 12:59
1
Esteem 发表于 2015-4-8 11:30 的评论:
(1)uname -r 查看当前使用的内核;
(2)dpkg --get-selections | grep linux 查看系统中有哪些内核启动项;
(3)sudo apt-get remove linux-image-XXXXX-generic 删除旧内核启动项;
(4)sudo apt-get remove linux-headers-2.6.32-21
     sudo apt-get remove linux-headers-2.6.32-21-generic 卸载内核相关的头文件;

(5)删除完后,再用命令:dpkg --get-selections | grep linux 查看当前内核启动选项相关信息:
linux-headers-2.6.32-21 已经没有了,被删除了
linux-headers-2.6.32-21-generic已经没有了,被删除了
linux-image-2.6.32-21-generic 显示为deinstall,表示被卸载删除了
(6)sudo update-grub 更新开机启动控制文件.
这是直指人心的做法,其实本文用ubuntu tweak,并不是很对症。
回复
linux 2015-4-8 12:58
1
Esteem 发表于 2015-4-8 11:32 的评论:
以防万一,我一般在系统中保存两个临近版本的内核.
这是对的!
1 回复
Esteem 2015-4-8 11:32
以防万一,我一般在系统中保存两个临近版本的内核.
6 回复
Esteem 2015-4-8 11:30
(1)uname -r 查看当前使用的内核;
(2)dpkg --get-selections | grep linux 查看系统中有哪些内核启动项;
(3)sudo apt-get remove linux-image-XXXXX-generic 删除旧内核启动项;
(4)sudo apt-get remove linux-headers-2.6.32-21
     sudo apt-get remove linux-headers-2.6.32-21-generic 卸载内核相关的头文件;

(5)删除完后,再用命令:dpkg --get-selections | grep linux 查看当前内核启动选项相关信息:
linux-headers-2.6.32-21 已经没有了,被删除了
linux-headers-2.6.32-21-generic已经没有了,被删除了
linux-image-2.6.32-21-generic 显示为deinstall,表示被卸载删除了
(6)sudo update-grub 更新开机启动控制文件.
6 回复
refactor 2015-4-8 10:56
这是因为boot积累了太多旧的linux kernel,用apt-get autoclean, apt-get autoremove是不会自动清除老kernel的,但是可以用 apt-get purge linux-image-3.13.0-24-generic
2 回复

热点评论

来自 - 河北保定 的 Chrome/Linux 用户 2015-4-10 11:09
直接不分/boot分区就毛事没有了
6
Esteem 2015-4-8 11:30
(1)uname -r 查看当前使用的内核;
(2)dpkg --get-selections | grep linux 查看系统中有哪些内核启动项;
(3)sudo apt-get remove linux-image-XXXXX-generic 删除旧内核启动项;
(4)sudo apt-get remove linux-headers-2.6.32-21
     sudo apt-get remove linux-headers-2.6.32-21-generic 卸载内核相关的头文件;

(5)删除完后,再用命令:dpkg --get-selections | grep linux 查看当前内核启动选项相关信息:
linux-headers-2.6.32-21 已经没有了,被删除了
linux-headers-2.6.32-21-generic已经没有了,被删除了
linux-image-2.6.32-21-generic 显示为deinstall,表示被卸载删除了
(6)sudo update-grub 更新开机启动控制文件.
6
Esteem 2015-4-8 11:32
以防万一,我一般在系统中保存两个临近版本的内核.
6
来自 - 四川成都 的 Chrome/Linux 用户 2015-4-8 13:49
这是我的方案,先执行

sudo yum autoremove "$(rpm --query --all | grep --ignore-case '^kernel-' | grep --invert-match $(uname --kernel-release | cut --delimiter='-' --fields=1))"

也可以先执行

rpm --query --all | grep --ignore-case '^kernel-' | grep --invert-match $(uname --kernel-release | cut --delimiter='-' --fields=1)

人工确认没有问题后再执行。

最后是最早写的 deb 的方法,有一段时间没有用了,用之前要测试一下。

dpkg --list | grep -i 'linux-[hi]' | grep -i -v 'linux-image-generic' | grep -i -v 'linux-headers-generic' | grep -i -v $(uname --kernel-release | sed 's/-generic//g') | awk '{print $2}' | tr '\n' ' '
3
refactor 2015-4-8 10:56
这是因为boot积累了太多旧的linux kernel,用apt-get autoclean, apt-get autoremove是不会自动清除老kernel的,但是可以用 apt-get purge linux-image-3.13.0-24-generic
2
返回顶部

分享到微信朋友圈

打开微信,点击底部的“发现”,
使用“扫一扫”将网页分享至朋友圈。