由于根目录空间不足,我可以删除/var/log文件吗?

刚收到这个消息:
低磁盘空间.. 剩余2 GB
根据ubuntu.org论坛上发布的消息,我发现在/var/log目录下有一个大小为22 GB的.log文件!我的根分区是82 GB,磁盘分析器显示问题出在日志文件上。系统根目录大约8个月前安装的,所以显然在82 GB的根分区上创建一个22 GB的日志文件不是一件好事。
删除日志文件是否安全,或者请指导正确的安全清理程序,以免损坏我的系统。我认为可能没问题,但在执行删除任务之前,我想听听其他人的意见。

1另一种方法是使用gzipbzip2进行压缩,但这需要临时有足够的空间来存放未压缩和压缩后的文件副本。日志文件往往具有很多冗余信息,因此它们应该可以很好地压缩(可能超过90%)。 - Keith Thompson
5个回答

一般来说,删除日志文件是安全的。唯一的缺点是,如果您以后要解决其他问题时无法检查日志。由于新的日志会自动生成,即使有这个缺点也是短暂的。
大多数日志都会被自动删除(在压缩和重命名后进行“轮换”,并以存档格式保存一段时间)。如果您的日志扩展速度比Ubuntu删除它的速度快,手动删除它不太可能导致任何问题。
然而,如果您有一个大小为22GB的日志文件,那么可能发生了非常奇怪的事情,值得调查一下。我建议您再次编辑您的问题,包括您所讨论的Ubuntu论坛帖子的链接,以及22GB日志文件的完整名称。

2感谢您的建议。我现在已经找到了有问题的日志文件,名为"mail.log"。这是Ubuntu论坛的链接:[http://ubuntuforums.org/showthread.php?p=12148780#post12148780]。读者会注意到截图中有3个较大的日志文件(sys、mail和mail.err)。希望这对于有类似根空间损失问题的人有所帮助。 - Paul B
1我现在删除了那些有问题的.log文件,腾出了60GB的空间。请参考上面的Ubuntu论坛。感谢Eliah提醒我并回答了我的帖子。 - Paul B

我想在这里提个小小的警告 - 也许你可以删除所有日志文件,但如果你删除了/var/log子目录,可能会遇到问题。我删除了所有的日志文件和它们的目录(rm -r /var/log/*),结果我的apache2功能崩溃了。显然,apache无法重新创建日志目录,因此无法写入日志文件,这似乎会导致其失败。
我之前听说过删除一些日志文件可能会引起问题,尽管我没有第一手经验来支持这一点。但当然,在几天前之前,我也没有第一手经验证明删除目录会成为一个问题...

1其实说得挺好的。虽然与这个问题无关,但我也遇到过一个情况,我错误地删除了日志文件夹,而该进程无法重新创建它,因为在运行时它需要sudo权限,而该进程没有被授予(出于安全考虑)。 - Rafid

进一步说,我发现使用BleachBit(在Root权限下)清理我Ubuntu 12.10桌面上的所有旧日志更容易;为什么它们会变得如此庞大我还不清楚,但目前BleachBit“彻底清除所有已知的痕迹!”我腾出了超过1.6G的空间。 如果你遇到类似的日志问题,那就去Ubuntu软件资源或Synaptic软件包管理器中查找BleachBit工具吧。

我知道这是旧的,但我最近使用的软件也是如此。 我需要安装一个旧版本的Android Studio,但当以标准用户身份启动时,它运行得很奇怪。所以我尝试用GKSU root来运行它。在玩了几个小时后,我的整个硬盘都消失了。什么鬼?嗯,问题出在/var/log目录下的日志文件上。于是我启动了GKSU nautilus并四处查找。它生成了3个30GB的日志文件,我立即删除了它们,因为我知道它们是从哪里来的。所以虽然我明白以root身份运行东西的风险,但也许这可以帮助某人解决问题。

如果您正在使用rsync或磁盘空间不足,这两个命令可以很好地处理两个目标:
sudo rm /var/log/kern*
sudo rm /var/log/messages*

这些文件可能会变得非常大,当系统第一次想要写入它们时,它们将被重新创建。
使用rsync时,它们不仅可以节省磁盘空间,还可以加快备份速度。

1这真是个糟糕的建议...删除活动日志文件(如kern.log)在重新启动syslog之前不会释放磁盘空间。此外,在删除日志之前,调查填满日志的原因(并修复问题)总是一个好的做法。 - Soren A