为什么不删除文件会增加可用空间?

最近我在某个分区上收到一条关于“0字节空闲”的消息。

所以我看了,果然:

$ df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 65190604 10920296 50959160 18% / udev 966544 4 966540 1% /dev tmpfs 389532 744 388788 1% /run none 5120 0 5120 0% /run/lock none 973828 152 973676 1% /run/shm /dev/sda5 397327316 391010276 0 100% /media/8b5e40d0-95b3-4e60-831c-e9b9aeadbfa4 

该分区上有0个字节可用。

所以我删除了一堆我在这台机器上不需要的文件,并清空了垃圾箱。 我预计“使用”会变小,“可用”会变得更大。

但究竟发生了什么

 $ df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 65190604 10921184 50958272 18% / udev 966544 4 966540 1% /dev tmpfs 389532 744 388788 1% /run none 5120 0 5120 0% /run/lock none 973828 152 973676 1% /run/shm /dev/sda5 397327316 390986836 0 100% /media/8b5e40d0-95b3-4e60-831c-e9b9aeadbfa4 

“使用”实际上确实变小了,但“可用”仍然为零。

我重新启动了机器,我仍然在“可用”列中看到0。

为什么“可用”总是为零,即使我删除了一堆文件,所以“使用”变小了?

为什么不删除文件会增加可用空间?

我正在运行Ubuntu 12.04 LTS。

 $ df -hi Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda1 4.0M 512K 3.5M 13% / udev 205K 486 204K 1% /dev tmpfs 208K 390 208K 1% /run none 208K 3 208K 1% /run/lock none 208K 7 208K 1% /run/shm /dev/sda5 25M 975K 24M 4% /media/8b5e40d0-95b3-4e60-831c-e9b9aeadbfa4 

一步一步的教程

  1. 在终端中运行sudo tune2fs -m 0 /dev/sda5 ,假设/ dev / sda5是你的驱动器。
  2. 输入您的密码(在您输入密码时不会看到它)。
  3. 再次检查你的空间,它应该是免费的。

来自man tune2fs

 -m reserved-blocks-percentage Set the percentage of the filesystem which may only be allocated by privileged processes. Reserving some number of filesystem blocks for use by privileged processes is done to avoid filesystem fragmentation, and to allow system daemons, such as syslogd(8), to continue to function correctly after non-privileged processes are prevented from writing to the filesystem. Normally, the default percentage of reserved blocks is 5%. 

简单的答案是删除更多文件。 您正在看到“保留”块回收自己。 通常,5%的文件系统是为特权进程保留的,当达到该限制时,文件系统被认为是完整的。 您可以使用tune2fs -m命令调整限制。 有关更多信息,请参见tune2fs的手册页。

删除不在安装Ubuntu的分区中的文件时,会生成.Trashes / .Trashes-1000文件夹,该文件夹相当于回收站。 Ubuntu版本之间的数量可能不同。 进入分区后,按Ctrl + h查看隐藏文件,这些文件是以开头的文件开头的. 。 如果删除此文件,则实际上已删除了所有文件,并且您将有更多空间。