当前位置: 首页>>技术教程>>正文


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

问题描述

最近我在某个分区上收到一条关于“0 bytes free”的消息。

所以我看了看,果然:

$ 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 个字节可用。

所以我删除了这台机器上不需要的一堆文件,并清空了垃圾箱。我预计 “Used” 会变小,而 “Available” 会变大相同的数量。

但实际发生的是

$ 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

“Used” 实际上确实变小了,但 “Available” 仍然为零。

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

为什么 “Available” 始终为零,即使我删除了一堆文件以使 “Used” 变小?

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

我正在运行 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%.

次佳回答

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

第三种回答

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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/12846.html,未经允许,请勿转载。