自动化过程通常会完全填满主驱动器,我甚至无法通过 SSH 登录来修复它。如何防止所有空间被使用,以便我始终可以使用 SSH 登录到我的无头服务器并删除某些内容?
can't create socket: No space left on device
(有无数的东西可以填满空间。一个好的答案不会关心它们中的哪一个在做这件事,但会阻止它们使用 ssh 运行所需的空间。)
答案1
包括最常见的 Linux 文件系统在内的多个 Linux 文件系统ext4
都具有解决此问题的功能:默认情况下,驱动器上 5% 的空间为 root 用户保留。这确保管理员可以随时登录以修复空间不足的问题。
总结:
在 Ubuntu 中启用 root 账户
配置 SSH 守护进程以允许 root 登录
当空间不足导致无法正常登录时,请使用 root 帐户登录
需要注意的是:允许 root 登录时应谨慎行事。特别是,建议仅允许通过证书进行 root 登录,不允许使用密码登录。无论如何,在定义 root 密码时,请确保密码强(无论如何,很少需要交互,因此要特别注意密码长度)。
答案2
首先,试着找出是什么占满了你的空间。试着删除可能占满你空间的任何过度占用的软件或后台进程。你可以使用:sudo iotop -a
或任何df
命令。然后,如果有无法停止的必要应用程序,则制定一个 cron 作业或养成定期清理缓存和临时文件的习惯。有很多方法可以清除缓存。尝试:
du -sh /var/cache/apt/archives
sudo apt-get clean
sudo apt-get autoremove --purge
sync; echo 1 > /proc/sys/vm/drop_caches
sync; echo 2 > /proc/sys/vm/drop_caches
sync; echo 3 > /proc/sys/vm/drop_caches