删除文件不会释放空间

Dav*_*Yaw 6 linux rm

我有一个格式化为 ext3 的磁盘,它已被完全填满。我试图通过删除文件来释放一些空间,但它不起作用。我可以使用rm这些文件,但它们没有显示在目录列表中,但我没有可用空间。

以下是尝试删除某些文件的副本。从 中可以看出ls -la,文件没有硬链接到另一个位置,删除似乎成功了。在df输出中,使用的块数减少了 182556,这是文件占用的空间,但可用计数保持为零。fsck 没有检测到文件系统有任何问题,并且根本没有更改可用空间。

我现在正在使用 CentOS 6 尝试删除这些文件,但大多数文件是使用 Debian 发行版编写的(我不完全确定哪个版本,无论Clonezilla使用什么)。

# ls -la
总计 182564
drwxr-xr-x。2 根 4096 2011 年 3 月 4 日。
drwxr-xr-x。5 根根 4096 八月 13 13:18 ..
-rw-------。1 根 4030114 2011 年 3 月 4 日 sda1.vfat-ptcl-img.gz.aa
-rw-------。1 根 182667379 2011 年 3 月 4 日 sda2.ntfs-ptcl-img.gz.aa
-rw-r--r--。1 根 2011 年 3 月 4 日 37 日 sda-​​chs.sf
-rw-r--r--。1 根 31744 2011 年 3 月 4 日 sda-​​hidden-data-after-mbr
-rw-r--r--。1 根 512 2011 年 3 月 4 日 sda-​​mbr
-rw-r--r--。1 根 375 2011 年 3 月 4 日 sda-​​pt.parted
-rw-r--r--。1 根 259 2011 年 3 月 4 日 sda-​​pt.sf

# df 。
文件系统 1K-blocks Used 可用使用% Mounted on
/dev/sdb2 484009516 473901232 0 100% /media/Images

# rm -f *

# ls -la
共 8 个
drwxr-xr-x。2 根 4096 八月 13 日 15:05。
drwxr-xr-x。5 根根 4096 八月 13 13:18 ..

# df 。
文件系统 1K-blocks Used 可用使用% Mounted on
/dev/sdb2 484009516 4737186​​76 0 100% /media/Images

# cd /media ; 卸载图像

# e2fsck -fv /dev/sdb2
e2fsck 1.41.12(2010 年 5 月 17 日)
第 1 步:检查 inode、块和大小
步骤 2:检查目录结构
第 3 步:检查目录连通性
第 4 步:检查引用计数
第五步:查看群汇总信息

     已使用 589 个 inode (0.00%)
      37 个非连续文件 (6.3%)
       0 个不连续的目录 (0.0%)
         具有 ind/dind/tind 块的 inode 数量:278/256/0
已使用 119390761 个区块 (97.89%)
       0 坏块
       5个大文件

     551个常规文件
      29个目录
       0 个字符设备文件
       0 块设备文件
       0 先进先出
       0 个链接
       0 个符号链接(0 个快速符号链接)
       0 个插座
--------
     580个文件

# 挂载 /dev/sdb2 图像

# df 图像
文件系统 1K-blocks Used 可用使用% Mounted on
/dev/sdb2 484009516 4737186​​76 0 100% /media/Images

all*_*tic 2

出于稳定性原因,ext3 和 ext4 系列文件系统保留了磁盘的一部分,以防止其真正“100% 满”,以便 FS 可以在部分空间中存储元数据。

\n\n

您可以直接调整保留的空间大小:

\n\n
tune2fs -m 1 /dev/sdXX\n
Run Code Online (Sandbox Code Playgroud)\n\n

将“1”替换为要保留的磁盘的百分比(0到100),并将“XX”替换为设备节点和设备节点的分区号,因此在您的情况下,“XX”将是“b2”。

\n\n

打个比方:你有一辆满员的公共汽车,唯一剩下的座位是旁边一个非常大的人,他自己占据了一个半座位。一个非常坚持要座位的人走上前来,要求坐在那里。尽管大多数人都会考虑第二个座位,但这个人坚持要这样做。于是大个子就说:“哇,好吧!” 并挤进去让他们坐下。但只要有一个人下车并空出另一个座位,即使大个子旁边的乘客搬到座位上,大多数人仍然认为巴士是 100% 满员,因为没有人愿意坐在大人旁边大人物。

\n\n

来源

\n\n

您还可以检查此以查看保留块计数\xe2\x80\xa6

\n\n
dumpe2fs -h /dev/sdb2\n
Run Code Online (Sandbox Code Playgroud)\n\n

引用一位非常聪明的用户在上面的源中解决了这个问题:

\n\n
\n

当“已用”大约减少到 0.95*136236548 块 = 129424720 块以下时,您将看到“可用”变为正值。

\n
\n\n

(我们必须根据您的具体情况将“0.95”调整为保留百分比,并将 136236548 块调整为设备的总块大小)。

\n