我遇到了一个非常神秘的问题。今天,我无法登录。没有“密码错误”消息或任何其他消息,只有本文描述的症状问题。
于是我登录了无 GUI 的 shell,让我震惊的第一件事是,当我点击 时tab
,bash
自动完成失败了,因为没有足够的空间来创建临时文件。我很震惊,因为我预计大约 90% 的磁盘空间仍然是空闲的。删除一些冗余的 docker 卷后,我能够登录,现在我试图查看我的所有磁盘空间都去了哪里:
看起来我的主文件夹中有大约 5 GB 的内容,另外 5 GB 被系统使用。这似乎与现实相符。由于我的磁盘大约有 100 GB,所以我没什么可担心的。然而,有人df
认为并非如此:
Filesystem Size Used Avail Use% Mounted on
udev 3,9G 0 3,9G 0% /dev
tmpfs 788M 9,9M 778M 2% /run
/dev/mapper/ubuntu--vg-root 102G 96G 847M 100% /
tmpfs 3,9G 57M 3,8G 2% /dev/shm
tmpfs 5,0M 4,0K 5,0M 1% /run/lock
tmpfs 3,9G 0 3,9G 0% /sys/fs/cgroup
/dev/sda1 464M 121M 315M 28% /boot
tmpfs 788M 172K 788M 1% /run/user/1000
/home/askbe4/.Private 102G 96G 847M 100% /home/askbe4
或者更直观的说:
也就是说,其他工具显示我只有大约 800 兆字节可用。这是一个巨大的差异。另外,值得一提的是,磁盘和主文件夹都已加密。我在 Ubuntu 安装期间只需单击“是”即可加密它们。
我感到完全不知所措,不知道该怎么做。欢迎提供任何提示。
答案1
权限。Ubuntu 用户可以访问权限设置的文件。这些文件权限可能会阻止用户查看在系统文件夹中创建或存储的文件以及其他用户拥有的文件。如果使用图形文件浏览器,请不要忘记启用隐藏文件查看功能(通常按 CTRL+H)。以“root”身份运行命令/应用程序。对于命令行操作,请在命令前加上 sudo。对于 nautilus 和 baobab/Disk Usage Analyzer 等图形应用程序,请启动命令以使用 gksudo 启动应用程序。
因此我使用以下命令运行磁盘使用情况分析器:
须藤猴面包树
突然显示有 90G 的数据/var/lib/docker
。这是因为一个 Docker 容器运行出错了,我忘记删除它了。
显然我误解了 Linux 的一个基本原则。我一直以为即使你没有读取权限,你也可以看到文件的大小。我甚至用 测试了这一点sudo touch file-with-no-access
。我可以用 看到大小ls -l file-with-no-access
。我没有意识到的是,当有目录我无法访问。