1. 步骤:弄清楚你实际上遇到的问题
当你的文件系统突然变满时,可能有很多可能的原因。请参考Eliah Kagan的回答来了解更多相关信息。在绝大多数情况下,应该很容易识别出(并最终修复)真正的原因,所以不需要重新格式化/重装系统。
因此,第一步是找出问题的具体所在,也就是所缺失的空间去了哪里。所以首先执行:
df -hl -x tmpfs -x devtmpfs
这显示了您计算机中所有已使用分区的列表,它们的大小,使用情况以及它们的挂载点。从此列表中,选择您认为太满的一个并记录其挂载点。在您的情况下,它是挂载在
/
的根文件系统。
现在我们分析此文件系统内部使用空间的位置。执行:
sudo du -xhsc /* 2> /dev/null
(用上面标识的挂载点替换/
。)
需要使用sudo,因为您的用户可能无法读取所有目录。这可能需要一些时间(特别是在大型文件系统上),因为它需要访问其中的每个目录。
此命令的作用是显示给定目录内的每个文件和目录以及其大小(包括子目录)。
所以从这个列表中选择您认为应该更大的文件或目录,并在该目录上再次运行该命令。(也就是说,再次运行该命令,但将上一个列表中的大目录的名称替换/
。)
例如,在您的案例中,很明显/var
是唯一的大目录,所以您需要执行
sudo du -xhsc /var/* 2> /dev/null
继续按照这些步骤进行,直到你找到一个非常大的单个文件,或者找到一个包含许多文件的目录,这些文件一起占据了所有的空间。
在你的情况下,下一步是执行。
sudo du -xhsc /var/log/* 2> /dev/null
因为/var/log太大了,这表明有一个名为uvcdynctrl-udev.log的单个日志文件占用了174GB的空间(显然是不好的)。
第2步:确定为什么存在这些文件以及它们为什么如此庞大
现在我们需要找出为什么会有这些被识别出来的文件,或者为什么它们如此庞大(如果它们确实应该存在的话)。
在您的情况下,/var/log中的一个日志文件并不算可疑,但其大小肯定是问题。幸运的是,通过文件名进行Google搜索,可以将以下缺陷报告作为第一个结果显示出来,这显然是我们所遇到的相同问题:
http://bugs.launchpad.net/ubuntu/+source/libwebcam/+bug/811604。
第3步:解决问题
在这种情况下,一个与摄像头相关的日志文件似乎并不重要,所以我们可以使用命令sudo rm /var/log/uvcdynctrl-udev.log轻松删除它,并释放所有的空间。
很不幸,这个错误报告仍然是开放的,评论中没有解决方案或变通办法,所以你现在可能要暂时忍受这个错误。你可以定期删除日志文件来释放一些空间。