df 显示总空间为 28G,du 显示 '/' 的大小为 400+ G

df 显示总空间为 28G,du 显示 '/' 的大小为 400+ G

unable to write to *尽管我清理了大量空间,但我仍然不断收到错误。

df在我删除了大量未使用的文件后,认为我的磁盘大小为 28G 并且已满 100%:

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        28G   28G     0 100% /

/ 的总大小现在为:

$ sudo du -hs /
484G    /

这是我的物理系统信息:

$ mount
/dev/sda1 on / type ext4 (rw,errors=remount-ro)

$ sudo parted -l
Model: ATA ST1000DM003-1CH1 (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos

Number  Start   End     Size    Type      File system     Flags
 1      1049kB  30.0GB  30.0GB  primary   ext4            boot
 2      30.0GB  100GB   70.0GB  primary   ext4
 3      100GB   999GB   899GB   extended
 5      100GB   999GB   899GB   logical   ext4
 4      999GB   1000GB  1285MB  primary   linux-swap(v1)

更新:

问题在于一个失控的日志文件填满了 /dev/sda1。我认为导致df不显示任何统计数据的原因在于/dev/sda1它们没有被挂载(如mount上面的输出所示)。至于为什么会发生这种情况,我不知道,但在释放一些空间并重新启动后,系统能够正确挂载所有内容。

答案1

如果你很难想象这一点,并且不太确定目录树中有什么,请尝试下载并使用ncdu 实用程序使用apt-get

答案2

暂时无法添加评论,但正如 @Matt 所写 - 问题在于 / 上的空间有限,它在单个 fs 中同时充当 / 和 /boot。
正确的方法可能是分成 2 个文件系统,并将 /boot 挂载在 / 上,但那艘船已经起航(对于 @Goro 来说,重新安装系统会更容易)。如果
不向我们显示挂载和 /etc/fstab,很难分辨挂载层次结构。可能还涉及 autofs...
如果您想查看哪些目录占用了最多的空间,请执行

sudo du -sh /* | sort -h

并忽略 /proc /dev /sys 因为它们都是虚拟命名空间(它们不占用任何实际磁盘空间)

对最大的目录重复上述 du 来追踪占用空间的目录等。

相关内容