我刚刚收到默认磁盘分析软件(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 中是绝对不行的?
答案1
你不能删除整个文件夹但您可以删除“Old-Packed”日志文件而不会损害您的系统。
对于典型的家庭用户来说,删除任何经过压缩且具有.gz扩展(如您在图中看到的)。
这些压缩日志文件是经过 gzip 压缩以减少存储空间的旧日志,作为普通用户,您不需要它们。
答案2
免责声明:我不是这方面的专家,请自行承担风险!
发现我的/var/log/journal
文件夹占用了几 GB 后,我按照以下步骤操作:
https://ma.ttias.be/clear-systemd-journal/
journalctl --vacuum-time=10d
清除了 90% 以上
答案3
我不会删除整个 /var/log 文件夹——那样会破坏一切。
您可以按照@jrg 的建议销毁日志 - 但除非重新启动写入日志文件的内容(主要是 syslogd),否则实际上不会重新获得任何磁盘空间,因为文件将继续处于已删除状态,直到文件句柄关闭。
更好的办法是找出为什么日志没有被轮换(并且后来被删除)。日志旋转应该为您完成这项工作,但我怀疑它并没有像应该的那样每晚运行。
我要做的第一件事是:
sudo /etc/cron.daily/logrotate
这应该轮换日志文件(因此 kern.log 变成 kern.log.1);然后您可以删除 kern.log.1 等以释放磁盘空间。
如果到目前为止一切都很好,那么下一个问题是为什么这不会自动发生。如果你晚上关掉电脑,请确保你已经阿纳克隆已安装。
答案4
删除/var/log
可能不是一个好主意,但是删除单个日志文件应该没问题。
/var/log
在我的笔记本电脑上,有一个较小的 SSD 磁盘,我将(和/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
在启动时将其解压到其中以创建所有需要的目录并一次性设置它们的权限。)