大家好,请帮助我正确地释放空间,并且不丢失数据。
georgiy@debian-pp:~$ df -h
Файловая система Размер Использовано Дост Использовано% Cмонтировано в
udev 7,8G 0 7,8G 0% /dev
tmpfs 1,6G 1,8M 1,6G 1% /run
/dev/sda2 109G 98G 5,0G 96% /
tmpfs 7,8G 27M 7,8G 1% /dev/shm
tmpfs 5,0M 12K 5,0M 1% /run/lock
/dev/loop0 56M 56M 0 100% /snap/core18/2846
/dev/loop2 45M 45M 0 100% /snap/snapd/23545
/dev/loop3 45M 45M 0 100% /snap/snapd/23771
/dev/loop1 56M 56M 0 100% /snap/core18/2855
/dev/sda1 511M 5,9M 506M 2% /boot/efi
/dev/sdb1 229G 119G 98G 55% /home
192.168.88.93:/mnt/main/nfs-devs 975G 33G 942G 4% /var/nfs-devs
tmpfs 1,6G 2,6M 1,6G 1% /run/user/1000
启动 docker 容器时,/dev/sda2
空间不足并抛出错误。
也许可以以某种方式连接这两个部分,最主要的是它是安全的。
抱歉,我忘记注意到您的空格是以 结尾
/
,而不是/home
。想法是一样的:
例子
我们以同样的方式看一下内容
/var
:sudo du -mxad1 /var/ | sort -nr
让我们继续
正如所证明的——docker 占用了大量的空间。清理 docker 有很多种方法。最残忍的是删除除了正在运行的容器以及它们关联的镜像、卷等之外的所有内容:
清理后,停止 docker 并将 /var/docker 移动到另一个分区上的 /home/docker。并将其放入符号链接
ln -s /home/docker /var/docker
或写入配置文件中/etc/docker/daemon.json
原始答案
首先,值得弄清空间去了哪里。为此我使用以下命令
du
:-d 1
输出用深度为 1 的所有子目录(即运行该命令的目录的子目录)替换目录的总空间-m
显示以兆字节为单位的大小。-a
在输出中包含文件,而不仅仅是目录这个长命令将遍历你的整个主目录,并打印主目录下每个子目录的总大小,并按降序打印排序列表。
例如,我有:
经过这样的分析,您可以查看谁占用了最多空间的详细信息,并在网上查找如何进行清理而不破坏任何东西。
事实证明,对我来说最大的空间被 go 模块和 go build 缓存占用了。因此,您需要上网查找如何清洁它。
减去四千兆字节。
又减去 3 GB。
当然,你的位置会被别的东西占据。但总体思路依然是:
重复此操作直到释放足够的空间。
如果您不确定,请将命令输出添加到您的问题中
du -a -m -d 1 ~ | sort -nr
,我们将看看可以删除什么以及如何删除。