“卷启动只剩下0个字节的磁盘空间”

在最近的更新后,我收到警报说:

  • 卷启动只剩下0个字节的磁盘空间

但我的电脑有足够的高清空间。 有谁知道我如何解决这个问题。 (如果相关,我正在使用Ubuntu 12.04的备用安装映像的整个磁盘加密function)。

列出所有内核:
dpkg --get-selections | grep "linux-image-[[:digit:]].*" | tr "\t" ";" | cut -d ";" -f1

结果看起来有点像这样:

 linux-image-3.19.0-7-generic linux-image-3.18.0-13-generic linux-image-3.16.0-23-generic 

不要删除所有内核,只删除旧内核!

接下来让我们删除3.16内核,
sudo apt-get purge linux-image-3.16.0-23-generic

然后系统中所有未使用的包:
sudo apt-get autoclean && sudo apt-get autoremove

原因确实是旧的核心图像。
要清理所有我必须做的就是运行一行:

 sudo apt-get autoclean && sudo apt-get autoremove 

这会自动识别旧的核心并将其删除。

可能是您的/boot分区在进行升级时累积了太多内核版本。 此分区可能与您的磁盘分区(挂载为/ )分开。 您可以像这样检查/boot分区空间(查找带/ boot的行):

 df -h 

有一个关于如何删除旧内核的很好的页面。

简而言之,检查当前的内核版本,获取安装的列表,然后apt-get删除旧版本。 页面上还有一个“神奇的”单行命令,可以为您完成所有这些操作。 但使用它需要您自担风险。

更详细的说明:

  1. 获取当前内核版本, 即您要保留的版本

     uname -r 
  2. 获取所有已安装内核的列表:

     dpkg -l | grep linux-image- 
  3. 在要删除的内核上运行apt-get remove。 不是最新的 ! 例如:

     sudo apt-get remove linux-image-2.6.32-22-generic 

更多说明:

  • dpkg -l将告诉您包名前的(内核)包的状态 。 例如:

     rc linux-image-3.13.0-39-generic ... ii linux-image-3.13.0-40-generic ... 
    • “rc”表示该软件包已被移动并具有配置文件。 这些您不需要再删除。
    • “ii”表示包装已标记为安装并已安装

    基于此,您只能列出已安装的内核包:

     dpkg -l | grep "ii.*linux-image-" 

替代解决方案 ,使用GUI工具Ubuntu Tweak 。

安装并转到Computer Janitor,检查System-> Old Kernel and System-> Unneeded软件包,然后按Clean。

使用此脚本,以便删除所有其他旧内核,保留当前版本和之前的版本(最后1个内核版本)

 KERNELMAGES=`ls -lRt /boot/vmlinuz-*| awk -F/ '{print $3}' | grep -v $(uname -r) | sed 1d | sed -e 's/vmlinuz/linux-image/g'` KERNELHEADERS=`ls -lRt /boot/vmlinuz-*| awk -F/ '{print $3}' | grep -v $(uname -r) | sed 1d | sed -e 's/vmlinuz/linux-headers/g'` for PURGEKERNEL in `echo $KERNELMAGES $KERNELHEADERS`; do apt-get autoremove -y && apt-get purge $PURGEKERNEL -y done