删除文件后未回收ext4磁盘空间

理查德·拉斯(Richard Rath)

我最近收到2 Tb外部ext4驱动器的“设备已满”警告。我删除了一堆文件,大约有90-100 Gb的旧系统备份,并且由于我不想清空所有垃圾,因此从驱动器中删除了垃圾文件夹。但是,没有释放磁盘空间,删除90-100Gb后,我仍然只显示大约5 Gb的可用空间。

我首先尝试重新启动,以确保它不是由于某种原因而保持打开状态的文件。我尝试运行sudo e2fsck -fp /dev/sde1sudo e2fsck -f -D -C0 -E discard /dev/sde1但是这些都没有占用任何磁盘空间。我检查了inode的使用情况,并使用了总数的0.3%。当我运行时sudo xdiskusage,它说inode消耗了93 Gb。人说这是文件系统使用的开销。93 GB似乎有很多开销,并且删除大约相同数量的文件不会释放磁盘空间这一事实,我猜想我删除trah文件夹时会犯规。有什么方法可以收回删除文件所带来的空间?

征服了

这里似乎有两种可能性:

  1. 您对df根目录保留空间的(令人困惑的)行为感到困惑
  2. 您删除了(取消链接)与这些文件的一个硬链接,但还有更多。

就个人而言,我怀疑您正在看到#1。下面的详细信息以及一些总结性说明。

令人困惑的df行为

如果您以非root用户身份完全填充了文件系统,则外观如下所示:

Filesystem      Size  Used Avail Use% Mounted on
/dev/md10       248M  236M  1.0K 100% /boot

但为根保留了空间,通常为5%。如果root将其填满,则df看起来是这样(对于这个小文件系统,它是另外13 MB):

Filesystem      Size  Used Avail Use% Mounted on
/dev/md10       248M  248M     0 100% /boot

请注意,它已从100%使用到... 100%使用。尽管实际上又被使用了5%。Used字段按预期增加,但是该avail字段刚刚从1K更改为0。

当您删除前13MB数据时会发生什么?好了,您又回到了第一个输出-您已释放了5%,但仍处于100%的使用状态,几乎没有可用状态。

结论:当您要查看实际释放的空间时,请查看Used列-而Avail不是Use%

不是最后的硬链接

rm实际上并没有删除文件。它取消链接它们-即删除与它们的硬链接。基本上,每个硬链接都为文件指定一个名称。当文件中没有剩余链接(并且未打开等)时,只有这样,该文件才被实际删除。

实际上,通过文件的索引节点号,可以在文件系统上唯一地标识一个文件,而不管其具有多少名称。如果您知道这些文件的inode编号,则可以find -inum用来查找所有指向它们的硬链接-但您可能不知道。如果您需要清理一些相关文件,则可以从中获取相关的inode编号stat然后,您可以使用find /path/to/mount -inum NUMBER查找到该文件的所有硬链接(包括您刚刚统计的名称)。此外,一旦实际删除文件,即可重新使用inode编号。

请记住:索引节点号是每个文件系统的因此,两个不同的文件可以在两个不同的文件系统上成为inode 42。仅在同一文件系统上,inode 42保证始终是同一文件。同样,inode编号有时也不适用于网络文件系统或非Unix文件系统。但是您使用的肯定是ext4。

除此之外,您只需要查找其他名称即可删除常规方式(例如,通过xdiskusage已经在做的大事情来查找

一般说明

废纸folders文件夹只是目录。如果它们充满了您无法删除的垃圾,则会在中显示xdiskusage

您应该考虑一个备份系统,该系统可以更好地为您处理删除旧备份的问题-手工操作容易出错。更糟糕的是,它也可能被遗忘,导致备份失败,并且还原通常是最近的数据(例如,意外删除,文件损坏,磁盘故障),而不是旧数据(“哦,是的,我确实需要去年删除的东西) ...”),因此“磁盘完整备份失败”表示您实际上是在丢弃最有价值的数据(新备份)以保留最有价值的数据(两年前的备份)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从HDFS删除文件不会释放磁盘空间

来自分类Dev

TFS Build Server磁盘空间问题,可以删除Build Directory下的文件夹吗

来自分类Dev

ext4:如何考虑文件系统空间?

来自分类Dev

为什么删除虚拟磁盘后未释放磁盘空间

来自分类Dev

从Jupyter Notebook删除文件时如何释放磁盘空间

来自分类Dev

删除表后回收磁盘空间

来自分类Dev

ext4:如何考虑文件系统空间?

来自分类Dev

为什么删除虚拟磁盘后未释放磁盘空间

来自分类Dev

从mega.co.nz下载后的磁盘空间少于文件大小的两倍

来自分类Dev

删除ZFS上的文件不会释放磁盘空间

来自分类Dev

用.evtx和.txt文件填充C:\ Windows \ Temp后磁盘空间不足

来自分类Dev

删除文件,但磁盘空间仍已满

来自分类Dev

DD后丢失磁盘空间

来自分类Dev

ext4中的“ Ghost”文件?(ktorrent分配了磁盘空间)

来自分类Dev

文件列表使用多少磁盘空间

来自分类Dev

TFS Build Server磁盘空间问题,可以删除Build Directory下的文件夹吗

来自分类Dev

从保持打开状态的已删除文件中释放磁盘空间的最佳方法

来自分类Dev

当执行linux rm命令删除一个打开的文件时,如何恢复磁盘空间?

来自分类Dev

如果安装点未稀疏,删除或隐藏了我的磁盘空间,该怎么办?

来自分类Dev

根无法删除ext4上的文件

来自分类Dev

查找占用最多磁盘空间的文件

来自分类Dev

ext4安装在/和tmp上占用磁盘空间

来自分类Dev

如何计算ext4上的可用磁盘空间?

来自分类Dev

使用fallocate和mkfs.ext4可能会超出可用磁盘空间

来自分类Dev

linux大文件已删除,但未释放磁盘空间

来自分类Dev

如何删除未使用的内核并回收VM中的磁盘空间?

来自分类Dev

安装所需的磁盘空间大于移除后释放的磁盘空间:为什么?

来自分类Dev

删除文件时会发生什么?磁盘空间是减少还是保持不变?

来自分类Dev

从闪存驱动器中删除巨大的日志文件后出现“可用磁盘空间不足”错误

Related 相关文章

  1. 1

    从HDFS删除文件不会释放磁盘空间

  2. 2

    TFS Build Server磁盘空间问题,可以删除Build Directory下的文件夹吗

  3. 3

    ext4:如何考虑文件系统空间?

  4. 4

    为什么删除虚拟磁盘后未释放磁盘空间

  5. 5

    从Jupyter Notebook删除文件时如何释放磁盘空间

  6. 6

    删除表后回收磁盘空间

  7. 7

    ext4:如何考虑文件系统空间?

  8. 8

    为什么删除虚拟磁盘后未释放磁盘空间

  9. 9

    从mega.co.nz下载后的磁盘空间少于文件大小的两倍

  10. 10

    删除ZFS上的文件不会释放磁盘空间

  11. 11

    用.evtx和.txt文件填充C:\ Windows \ Temp后磁盘空间不足

  12. 12

    删除文件,但磁盘空间仍已满

  13. 13

    DD后丢失磁盘空间

  14. 14

    ext4中的“ Ghost”文件?(ktorrent分配了磁盘空间)

  15. 15

    文件列表使用多少磁盘空间

  16. 16

    TFS Build Server磁盘空间问题,可以删除Build Directory下的文件夹吗

  17. 17

    从保持打开状态的已删除文件中释放磁盘空间的最佳方法

  18. 18

    当执行linux rm命令删除一个打开的文件时,如何恢复磁盘空间?

  19. 19

    如果安装点未稀疏,删除或隐藏了我的磁盘空间,该怎么办?

  20. 20

    根无法删除ext4上的文件

  21. 21

    查找占用最多磁盘空间的文件

  22. 22

    ext4安装在/和tmp上占用磁盘空间

  23. 23

    如何计算ext4上的可用磁盘空间?

  24. 24

    使用fallocate和mkfs.ext4可能会超出可用磁盘空间

  25. 25

    linux大文件已删除,但未释放磁盘空间

  26. 26

    如何删除未使用的内核并回收VM中的磁盘空间?

  27. 27

    安装所需的磁盘空间大于移除后释放的磁盘空间:为什么?

  28. 28

    删除文件时会发生什么?磁盘空间是减少还是保持不变?

  29. 29

    从闪存驱动器中删除巨大的日志文件后出现“可用磁盘空间不足”错误

热门标签

归档