问题描述
我刚收到默认磁盘分析软件(Baobab)的消息,我只剩下1GB硬盘。经过一番搜索,我发现/var/log/
文件夹就是这个原因。
/var/log/
中的某些文件/大小:
-
kern.log = 12.6 GB
-
ufw.log = 12.5 GB
-
kern.log.1 = 6.1 GB
-
ufw.log.1 = 6.0 GB
等等。 /var/log
非常庞大。
我可以删除这些文件或整个/var/log
文件夹吗?或者在Ubuntu中是否是一个大不了?
最佳解决思路
您不能删除整个文件夹,但可以删除”Old-Packed”日志文件而不会损害您的系统。
对于典型的家庭用户,可以安全地删除任何压缩的日志文件并具有.gz扩展名(如图所示)。
这些压缩日志文件是经过压缩的旧日志,以减少存储空间,而作为普通用户,您不需要它们。
次佳解决思路
我不会删除整个/var /log文件夹 – 这将破坏事情。
您可以像@jrg建议的那样销毁日志 – 但除非写入日志文件(主要是syslogd)的内容重新启动,实际上不会重新获得任何磁盘空间,因为文件将继续以删除状态存在,直到文件句柄已关闭。
更好的是找出原因未被轮换(以后删除)的原因。 logrotate应该为你做这件事,我怀疑它不是每晚都应该运行。
我要做的第一件事就是:
sudo /etc/cron.daily/logrotate
这应该旋转日志文件(所以kern.log变成kern.log.1);然后你可以删除kern.log.1等来释放磁盘空间。
如果到目前为止一切顺利,下一个问题是为什么这不会自动发生。如果您在晚上关闭计算机,请确保已安装anacron。
第三种解决思路
您应该查看日志并查看写入内容的内容。我的猜测是ufw /iptables(您正在记录所有网络流量)。
ufw – 当您记录所有数据包时,您将获得大型日志。如果您不打算查看日志,请关闭注销。如果您希望监控网络,请使用snort。 Snort将过滤您收到的数千个数据包,并提醒您可能存在问题的流量。
我猜是ufw是罪魁祸首,你在kern.log中获得一个大的日志,因为你也在那里记录数据包。
有时会出现填充日志的内核或硬件问题。在这种情况下,最好修复问题或提交错误,您需要查看日志才能执行此操作。
如果无法解决问题,可以将syslog配置为不填充日志。
请参阅http://manpages.ubuntu.com/manpages/precise/man5/syslog.conf.5.html
如果您提供有关问题的更多详细信息,我们可以帮助您更好地调试它
第四种思路
删除/var/log
可能是一个坏主意,但删除单个日志文件应该没问题。
在我的笔记本电脑上,使用小型SSD磁盘,我将/var/log
(和/tmp
和/var/tmp
)设置为tmpfs
挂载点,方法是在/etc/fstab
中添加以下行:
temp /tmp tmpfs rw,mode=1777 0 0
vartmp /var/tmp tmpfs rw,mode=1777 0 0
varlog /var/log tmpfs rw,mode=1777 0 0
这意味着这些目录中的任何内容都无法重启。据我所知,这个设置工作正常。当然,我失去了查看旧日志以诊断可能发生的任何问题的能力,但我认为这是减少磁盘使用量的公平权衡。
我遇到的唯一问题是某些程序(最明显的是APT)想要将其日志写入/var/log
的子目录中,并且如果它们不存在则不够智能创建这些目录。将mkdir /var/log/apt
行添加到/etc/rc.local
中为我解决了这个特殊问题;根据您安装的软件,您可能还需要创建一些其他目录。
(另一种可能性是创建一个只包含目录的简单tar
存档,并在启动时将其解压缩到/var/log
中以创建所有需要的目录并同时设置它们的权限。)