如何清除超过一百万个幽灵文件?

如何清除超过一百万个幽灵文件?

我定期在我的 Lubuntu 机器(内核 3.13.0-35-generic)上运行 Bleachbit 1.0。上次,我选中了清除可用磁盘空间的选项,主要是为了尝试一下。程序卡在一条消息上,说大约一分钟后就会完成。几个小时后我把它杀了,但我担心我的 Linux 系统乱了。首先,我在我的主目录中发现了一个包含数十万个文件的新文件夹(不记得它的名字了:它看起来像一个随机的字母数字序列)。我能够使用“rm -rf”将其删除,花了将近一个小时。问题是,当我用“df -i”检查我的 inode 时,我得到了大量的 IUsed:

    Filesystem        Inodes   IUsed     IFree IUse% Mounted on
    /dev/sda6        2899968 1725783   1174185   60% /
    none              220155       2    220153    1% /sys/fs/cgroup
    udev              215362     514    214848    1% /dev
    tmpfs             220155     521    219634    1% /run
    none              220155       3    220152    1% /run/lock
    none              220155       1    220154    1% /run/shm
    none              220155      16    220139    1% /run/user

几乎有 200 万个 inode?我的整个文件系统使用了大约 10 GB。我浏览了网页,试图查看是否在某个地方创建了大量小文件。

    ae:/ $≻sudo find . -xdev -type f | cut -d "/" -f 2 | sort | uniq -c | sort -n
    [sudo] password for ae: 
    15 tmp
    88 opt
    129 sbin
    132 bin
    287 boot
    1180 etc
    3449 home
    5519 lib
    8101 var
    96802 usr
    1558827 root

这很奇怪。除了列出的目录之外,我的根目录中只有两个链接:指向 initrd.img 和指向 vmlinuz。lost+found 中没有任何内容:

    sudo ls -l lost+found/ 
    [sudo] password for ae: 
    total 0

另一方面,ls 和“find . -iname \*”都看不到上面报告的一百五十万个文件中的任何一个。

我非常担心我的文件系统有问题。我在根目录中创建了一个文件 forcefsck 并重新启动,但 fsck 说磁盘没有问题。那么...我是否必须粉碎分区并从 Clonezilla 备份中恢复它?我更愿意找出问题到底是什么并修复它。如果您能帮忙,我将不胜感激。我也有一个建议。我不能确定我的问题是否由 Bleachbit 引起,但我读到(太晚了)有几个人抱怨 Bleachbit 在尝试擦除可用空间时卡住了。Bleachbit 可能会警告用户擦除功能是实验性的,可能会造成危害。

答案1

如果您想删除所有这些小文件,我建议运行这两个命令:

cd /    
rm -r 6jF8vak8\ H

(如果“/6jF8vak8 H”是托管所有这些文件的目录,就像您在评论中提到的那样。)

如果此命令失败,可能是因为您没有写入该目录的权限,在这种情况下您需要使用 sudo - 这在根目录中具有潜在危险。

要极其小心,并仔细检查间距。事实上,我建议在终端中输入“rm -r 6jF”(或前几个字符),然后按 Tab 键,这样应该会自动完成目录。如果没有自动完成(并且您位于根目录中),请不要运行该命令。使用此方法将确保您不会意外在根目录本身上运行 rm -r。

其他警告:

  • 我不知道删除这些文件会对 bleachbit 产生什么影响。
  • 对一百万个文件运行此命令可能会花费大量时间。

相关内容