块设备已满 - 如何清理空间

块设备已满 - 如何清理空间

我是一个相对基础的用户,使用适用于 Windows 的 Ubuntu 终端。由于我在终端中连接的 VM 磁盘空间不足,导致部署失败:

df -h

Filesystem      Size  Used Avail Use% Mounted on
...
/dev/sda1        30G   30G     0 100% /

/dev/以常规目录形式存在。然后我看到sda1一个块设备文件:

ls -l

brw-rw---- 1 root disk      8,   1 Aug 12 01:31 sda1

(看https://superuser.com/questions/1240857/is-dev-sda1-a-directory/1594704#1594704有关块文件的解释)。

我如何调查填充了什么内容并删除不必要的数据?

如果我cd sda1得到Not a directory

答案1

/dev/sdaN不是目录,而是对硬盘驱动器第 N 个分区的引用。df -h显示/dev/sda1安装在 上/。如果您想查看设备上占用空间的内容,可以查看该设备的安装点,在本例中为/

答案2

我意识到/dev/sda1它安装在/- @Pixelated Fish 的回答解释说这是硬盘的第一个分区。所以现在我可以

sudo du -s /,这表明/var目录中的某些内容是罪魁祸首。深入研究后,我发现这/var/lib/docker就是问题所在 - 这让我怀疑自动部署中的旧 docker 镜像没有被删除,这个问题在https://stackoverflow.com/questions/32723111/how-to-remove-old-and-unused-docker-images

我还执行了sudo -s和,cd /然后df -h显示了确切的罪魁祸首目录(我不确定为什么这样做有效,因为df -h不是 root 用户时没有)。结果发现日志文件是问题所在。我可以cd进入文件夹并rm *清除文件。

以下问题涉及定位占用磁盘空间的方法:

https://unix.stackexchange.com/questions/125429/tracking-down-where-disk-space-has-gone-on-linux

相关内容