最近,我收到有关某个分区上“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 是您的驱动器。- 输入您的密码(输入时您将看不到它)。
- 再次检查您的空间,它应该是免费的。
从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可查看隐藏文件,即以 开头的文件.
。如果您删除此文件,则实际上已删除所有文件,您将获得更多空间。