/ usr / src正在耗尽所有索引节点


10

似乎/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 / usb引导并运行一些文件系统检查。'df -i'给您inode的用法。您可以手动删除(或移至安全位置)有问题的文件夹中的某些文件以释放inode。然后根据我的回答重试进行清理。
hmayag

尝试以单用户模式引导,这可能会给您更多控制权。
labarna 2013年

@klingone-您似乎有多个帐户。请注册这些帐户之一。然后,单击此页面底部的“联系我们”链接以请求合并您的其他帐户。完成后,您将可以重新编辑问题的详细信息。谢谢。
fossfreedom

Answers:


6

尝试这个。

打开一个终端并输入:

~$ 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}

2

您可以尝试Ubuntu Tweak清除旧内核。首先使用以下命令安装它

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

运行程序,然后:

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

在此处输入图片说明


嗨,谢谢你的信息。使用了上面的命令,但安装失败,表示设备上没有剩余空间。另外,软件中心已损坏,想维修,但也无法这样做。Apt-get autoclean无法正常工作,建议使用命令sudo dpkg --configure -a解决该问题,因为设备上没有剩余空间,导致我回到开始的地方。我还能尝试什么? ?我非常确定这是/ usr / src中的inode,因为已安装了来自以前内核的近300.000个文件...再次感谢您的帮助。
klingone

1

我只是有同样的问题

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


0

由于此案例涉及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实用程序(顺便说一句非常出色),然后删除旧内核。如果升级失败,我通常会保留最新的内核,并且保留最新的内核。

希望这会有所帮助。


索引节点的使用率100%并不意味着硬盘驱动器已满文件。
woohoo 2014年

0

另一种方法是搜索正在占用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

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.