/ usr / src正在吃掉所有的inode

似乎/usr/src (显然是老内核)耗尽了我所有的inode:

 Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda4 489600 489600 0 100% / devtmpfs 219658 539 219119 1% /dev none 219844 474 219370 1% /run none 219844 3 219841 1% /run/lock none 219844 8 219836 1% /run/shm /dev/sda6 5963776 8361 5955415 1% /home 

我尝试了删除/清除旧内核的所有内容,但没有成功。 dpkg不再工作了。 我尝试了一些手动命令,但12.04没有给我任何帮助。 由于硬盘驱动器上没有空间,apt-get等是不可能的,这显然不是问题。 但是我无法安装或删除任何东西! 我读了很多关于同样问题的用户,但他们的解决方案对我不起作用。

请帮忙。 非常感谢!

试试这个。

打开终端并输入:

 ~$ cd /usr/src /usr/src$ ls 

你会看到这样的东西:

 total 16K drwxr-xr-x 24 root root 4,0K Σεπ 29 22:35 linux-headers-3.2.0-54/ drwxr-xr-x 7 root root 4,0K Σεπ 29 22:35 linux-headers-3.2.0-54-generic/ drwxr-xr-x 3 root root 4,0K Σεπ 29 22:56 nvidia-319-319.32/ 

输出可能(并将根据您的设置)而有所不同。

仔细查看名为linux-headers-*的文件夹。 这些是您安装的所有Linux映像的标头。 如果你有太多,他们将占用大量的空间和inode。 您只需要保留最新的启动密码

假设您有一个较旧的内核,例如。 3.2.0-53。 要删除它,请键入:

 sudo apt-get remove --purge linux-image-3.2.0-53-generic linux-headers-3.2.0-53 linux-headers-3.2.0-53-generic 

对于他们每个人。

如果上述所有操作都失败,请尝试手动删除OLDER KERNEL标头的文件夹:

 sudo rm -rf /usr/src/linux-headers-3.2.0-53{,-generic} 

您可以尝试使用Ubuntu Tweak来清理旧内核。 首先使用这些命令安装它

 sudo add-apt-repository ppa:tualatrix/ppa sudo apt-get update sudo apt-get install ubuntu-tweak 

运行该程序,然后:

  1. 选择“Janitor”选项卡
  2. 选择“旧内核”复选框
  3. 选择要删除的内核版本(在leats中保留2个 – 以防万一)
  4. 按“清洁”

在此处输入图像描述

由于案例涉及使用100%HD的系统,因此安装任何应用程序都不起作用。 唯一安全的选择是首先删除不必要的文件。

排在第一位的是临时文件

 sudo rm -rf /tmp/* 

其次,删除缓存的应用程序。 这些是通过系统生命周期下载的应用程序和升级的二进制文件。 通常情况下,在一年运行的普通Ubuntu系统中,这将不低于500 MB,并且可以让您轻松安装其他应用程序。

 sudo rm /var/cache/apt/archives/*deb 

然后我建议删除旧的日志文件

 sudo rm /var/log/*gz 

这样你至少可以拥有大约700 MB的可用空间。 这将允许您使用实用程序并安装新实用程序。

然后我会安装ncdu,这是一个快速实用程序来扫描整个硬盘,并按大小排序目录。 它真的很快,就像一个魅力。

 sudo apt-get install ncdu 

然后用命令运行它

 sudo ncdu / 

ncdu之后的斜杠是从根目录扫描。

以上所有工作在ubuntu服务器和桌面上。 现在,完成上述所有操作后,您正在桌面环境中运行,然后,您可以使用ubuntu-tweak等GUI实用程序(顺便说一句,它很棒)并删除旧内核。 在升级失败的情况下,我通常保留最新的内核和最新的内核。

希望这会有所帮助。

另一种方法是搜索占用你的inode数的文件夹。 请参阅此处: 更新后损坏的包:linux-headers,错误:BrokenCount> 0

这是最重要的部分:

在终端中,cd到root开始:

 # cd / 

然后搜索占用大多数inode的文件夹:

 # for i in `ls -1A`; do echo "`find $i | sort -u | wc -l` $i"; done | sort -rn | head -20 

依此类推,您将能够找到需要删除的文件夹或包,内核头文件以及需要卸载的图像。

我刚才有同样的问题

在Ubuntu Linux 16.04.1上,似乎sudo apt autoremove将清理所有不必要的/usr/src/linux-headers-文件并释放相应的inode