我的计算机中只有一个磁盘,一个 80 GB 的 SSD。它被格式化为单个 ext4 分区(无交换),并且所有常用文件夹都安装在其上(我在外部媒体上保留了大量数据,但 /home 和所有其他数据都在 SSD 上)。
今天我启动了它,我收到一条消息,说驱动器已满。我打开磁盘使用分析器来查看什么占用了空间。它坚持使用 67.8 GB 的磁盘,而 / 占用了 36.4 GB。这就引出了一个问题,如果文件系统上没有,那么缺少的 30 GB 在哪里?!
为了进行比较,我将 Nautilus 中列出的所有可读文件夹的所有大小添加为 / 的子文件夹(包括隐藏的)。我有 20.9 GB。垃圾箱无法读取,但我知道它有 16.2 GB,所以总和为 36.1 GB,与磁盘使用分析器报告的内容大致相同。有一些系统文件夹是不可读的,比如 proc,但我怀疑它们加起来最多 30 GB - 否则不可能在小磁盘上安装 Ubuntu,我已经看到它在 2.5 GB 上运行。我认为它们一定是我的计算和磁盘使用情况分析器报告之间的 0.3 GB 差异。
所以我想知道,是什么消耗了这 30 GB 的空间,我该如何释放它们?

编辑并回答 CYREX 的问题
从 Ubuntu 10.10 64 位 live CD 启动(与我的系统相同)。
fsck 结果:
root@ubuntu:~# fsck /dev/sda1
fsck from util-linux-ng 2.17.2
e2fsck 1.41.12 (17-May-2010)
/dev/sda1: clean, 265956/4890624 files, 18073343/19537408 blocks
Run Code Online (Sandbox Code Playgroud)从 SSD 启动。清空垃圾箱,那里的 16 GB 现在是免费的。30 GB 仍然缺失。

我的经验不足,无法知道日志中什么才算怪异。这是自上次启动以来我的消息日志和系统日志。也许你可以在其中找到一些东西:
这里变得非常奇怪。我插入了一个外部 500 GB 硬盘。磁盘使用分析器高估了可用空间,然后显示空间缺失(使用了 76 GB,但文件夹中只有 24 GB)。
再次从 LiveCD 启动,从它启动磁盘使用分析器并获得与安装的 Ubuntu 相同的结果,在 1-2 GB 内。
编辑回答 CodeMonk:
这本来是一个不错的解决方案,但分区实际上是 80 GB - 我的意思是 74 GB + 营销“错误”,无论如何整个磁盘都已格式化。它还显示使用了超过 50 GB,那么如果不在文件和文件夹中,那么 30 GB 在哪里?
GParted 还报告外部硬盘驱动器的正确大小。
Jav*_*era 34
如果您以普通用户身份使用磁盘分析器,则可能会有一些文件无法访问或查看。您可以尝试以超级用户权限启动它。打开终端,或按 ALT+F2 并键入:
gksudo baobab
Run Code Online (Sandbox Code Playgroud)
如果您想知道,猴面包树是磁盘分析器的极客名称。也许它现在可以告诉你那些丢失的兆字节在哪里。
rum*_*cho 17
我解决了它 - 感谢您的所有建议,尤其是 Javier Riveira 的建议,他建议使用 sudo 权限运行磁盘分析器(我不知道这会影响结果)。
我有 Crashplan,它正在备份一些外部驱动器。所以有一个备份集发送给 Milly,另一个发送给 Sto_Lat,每 15 分钟一次(这些是外部驱动器的名称)。当我在某个时候在没有这些驱动器的情况下启动计算机时,Crashplan 在/media/Milly和下找不到任何文件夹/media/Sto_Lat,因此它刚刚创建了它们并将备份写入其中。
出于某种原因,磁盘分析器在没有 sudo 的情况下启动时不会显示这些文件夹。Nautilus 显示了它们,但列出的大小为/media16 KB,而实际为 30 GB。
当我卸下所有外部驱动器(包括 Milly 和 Sto_Lat)并启动gksudo baobab. 然后我看到我的外部驱动器应该没有的地方 - 但不是全部,而是只有备份目标 - 并意识到这些不是安装的驱动器,而是由 Crashplan 创建的同名文件夹。当我以与现有文件夹相同的名称安装驱动器时,一定会发生一些奇怪的事情,我想知道为什么我没有收到错误消息或其他东西......
顺便说一句,这也解决了为什么磁盘分析器将 Milly 的大小显示为 530 GB 而不是 500 GB - 这些是“缺失”的 30 GB,它将文件夹和真实驱动器一起计算。
现在我只需要一种在不破坏崩溃计划或不保留备份的情况下删除文件夹的方法。
您可以使用磁盘使用分析器来扫描您的目录并查看您的空间在文件系统上的位置。

至于看不到30GB的磁盘,打开GParted看看磁盘上的空间是如何分配的。可能是你的分区方案不是你想象的那样。

您可以使用du以下方法来显示:
cd /
sudo du -hcsx -- .[!.]* * | sort -rh | head
Run Code Online (Sandbox Code Playgroud)
或者
sudo du -hcsx -- * | sort -rh | head
Run Code Online (Sandbox Code Playgroud)
这将显示什么占用了最多的空间。