我是 Linux 新手。我一直收到关于“没有空间”的投诉,我检查了我的实验室服务器硬盘,它应该足够大。唯一超载的似乎是/dev/nvme0n1p3
(SSD?!)。我该如何清理它以释放一些空间?我甚至不知道如何检查上面保存了哪些文件。谢谢
答案1
我不知道您从哪里得到“没有空间”的消息,“超载”是什么意思,以及您的磁盘布局是什么,但是:
您首先需要的是磁盘布局。这也是您在df
输出中看到的内容。以下是我的系统中的示例:
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 32768 1620 31148 5% /run
devtmpfs 16290444 0 16290444 0% /dev
/dev/sda2 927862216 484284484 396375428 55% /
tmpfs 16297532 516776 15780756 4% /dev/shm
cgroup_root 8192 0 8192 0% /sys/fs/cgroup
/dev/sda1 523248 36308 486940 7% /boot/efi
/dev/sdb1 307531896 191859560 100027564 66% /room/WD_L
当出现“无空间”消息时,一般来说,这是分区/tmp
已满。/home
但也有可能。在上面的示例中,没有单独的/tmp
挂载,因此/tmp
将位于根目录上。
第一步是清理至少一些空间以便能够工作。我通常会删除 中的一些文件/tmp
,从最老的开始。如果您这样做ls -lt
,最老的文件将排在列表的最后。如果这不能释放足够的空间,我会删除 中最老的日志文件/var/log
。请注意,我的系统中/tmp
和/var/log
都处于打开状态。/
因此,现在我们至少有一些喘息的空间,我们开始寻找可以删除的数据。根据我的经验,它要么是某个失控的进程,它一直在记录(因此填满/var/log
),要么就是它/home
(如果它不在单独的分区上)。如果它是一个记录的失控进程,那么你需要杀死它。重新启动可能会有所帮助,但请确保重新启动时至少留有一些空间。
如果在/home
,你可以使用
sudo du -sh /home
或者,如果你是系统上的唯一用户,使用
du -sh ~/* ~/.??* | sort -h
删除最大的空间浪费者(但不是您想要保留的文件!)。
如果列表中~/.local/share/akonadi
最大的空间浪费者是该目录,则彻底删除该目录。