![df 显示总空间为 28G,du 显示 '/' 的大小为 400+ G](https://linux22.com/image/636964/df%20%E6%98%BE%E7%A4%BA%E6%80%BB%E7%A9%BA%E9%97%B4%E4%B8%BA%2028G%EF%BC%8Cdu%20%E6%98%BE%E7%A4%BA%20'%2F'%20%E7%9A%84%E5%A4%A7%E5%B0%8F%E4%B8%BA%20400%2B%20G.png)
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 来追踪占用空间的目录等。