我可以删除 /var/log/journal 和 /var/cache/abrt-di/usr 中的文件吗?

hga*_*shb 224 fedora disk-cleanup

我使用Fedora,这些目录包含大量文件,不知道是否可以删除它们?系统空间不足。

slm*_*slm 324

日志日志

是的,您可以删除其中的所有内容,/var/log/journal/*但不要删除目录本身。您还可以查询journalctl以了解它消耗了多少磁盘空间:

$ journalctl --disk-usage
Journals take up 3.8G on disk.
Run Code Online (Sandbox Code Playgroud)

您可以使用以下参数控制此目录的大小/etc/systemd/journald.conf

SystemMaxUse=50M
Run Code Online (Sandbox Code Playgroud)

您可以强制进行日志轮换:

$ sudo systemctl kill --kill-who=main --signal=SIGUSR2 systemd-journald.service
Run Code Online (Sandbox Code Playgroud)

注意:如果上述信号方法没有这样做,您可能需要重新启动日志记录服务以强制日志轮换。您可以像这样重新启动服务:

$ sudo systemctl restart systemd-journald.service
Run Code Online (Sandbox Code Playgroud)

abrt日志

这些文件也/var/cache/abrt-di/*可以删除。此处日志文件的大小受以下控制:

$ grep -i size /etc/abrt/abrt.conf 
# Max size for crash storage [MiB] or 0 for unlimited
MaxCrashReportsSize = 1000
Run Code Online (Sandbox Code Playgroud)

您可以/var/cache/abrt-di通过更改文件中的以下内容来控制最大大小/etc/abrt/plugins/CCpp.conf

DebugInfoCacheMB = 2000
Run Code Online (Sandbox Code Playgroud)

注意:如果未定义,则DebugInfoCacheMB默认为 4000 (4GB)。

参考

  • 此处相同,`systemctl restart systemd-journald.service` 强制轮换而不发出进程信号 (3认同)
  • 要在一段时间后而不是在达到一定大小后清理日志,您可以设置参数“MaxRetentionSec”而不是“SystemMaxUse”。有关更多详细信息,请参阅`man journald.conf`。 (3认同)
  • @michaelbn - 信号过去/曾经为我工作过。不过,我不必经常这样做,所以我也将重新启动方法纳入了答案,以防其他读者与您有同样的问题。 (2认同)
  • 关于所述 journalctl 解决方案甚至适用于 ubuntu 18 (2认同)

小智 175

是的,/var/log/journal可以删除目录中的文件。

我发现的最好的方法是:

sudo journalctl --vacuum-size=500M
Run Code Online (Sandbox Code Playgroud)

它删除旧的日志文件,/var/log/journal直到目录的总大小低于指定的阈值(在此示例中为 500 兆字节)。

  • 安全、快速、流畅、干净,谢谢!另外,正如 https://unix.stackexchange.com/a/130802/142247 中提到的,在 /etc/systemd/journald.conf -> SystemMaxUse=500M 中有一个永久的解决方案 (4认同)
  • 使用以下命令使其永久化:`echo SystemMaxUse=500M | 须藤 tee -a /etc/systemd/journald.conf` (3认同)
  • 我不得不使用 `sudo` 否则它会清除 0 字节 `sudo journalctl --vacuum-size=500M` (3认同)
  • 默认情况下保持这么大有什么用?减少到 500MB 会丢失任何东西吗?如果我们将其保持在较低水平,我们会在崩溃时失去恢复数据的能力吗? (2认同)

Dan*_*son 47

您还可以根据时间进行清洁: journalctl --vacuum-time=10d

# du -sh /var/log/journal
113M    /var/log/journal
# journalctl --vacuum-time=10d
Deleted archived journal /var/log/journal/f77f9567bb70f8e7b5d9a0c95bef5c2a/system@36170b4530af4c89ac4d84ac68f8b727-0000000000000001-00057b09da23eb2c.journal (8.0M).
Deleted archived journal /var/log/journal/f77f9567bb70f8e7b5d9a0c95bef5c2a/user-1000@54176301a0c74c4698c3b6a549e1b2ed-0000000000000874-00057b0c1a491094.journal (8.0M).
. . .
Deleted archived journal /var/log/journal/f77f9567bb70f8e7b5d9a0c95bef5c2a/user-1000@e6ecd2f858d1498b9a445af7bac00bbf-000000000000063a-0005848ac99802b3.journal (8.0M).
Vacuuming done, freed 88.0M of archived journals from /var/log/journal/f77f9567bb70f8e7b5d9a0c95bef5c2a.
root@monroe:/var/log# du -sh /var/log/journal     
25M     /var/log/journal
Run Code Online (Sandbox Code Playgroud)

  • 该命令有效。ncdu 透露日志日志占用了大量空间。我刚刚清理了 SSD 上大约 3.8GB 的​​空间。确实需要一些可用空间。 (3认同)