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

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

最近,我收到有关某个分区上“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

一步步教程

  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%.

答案2

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

答案3

当您删除未安装 Ubuntu 的分区中的文件时,它会创建一个.Trashes/.Trashes-1000文件夹,相当于回收站。不同 Ubuntu 版本之间的数字可能不同。进入分区后,按Ctrl+h可查看隐藏文件,即以 开头的文件.。如果您删除此文件,则实际上已删除所有文件,您将获得更多空间。

相关内容