我正在寻找一种方法来删除coredumpctl list
.目前,它列出了从 2014 年 12 月 14 日开始的核心转储 - 从那时到现在,我更新了软件如此频繁,以至于我怀疑那些旧的核心转储现在是否能帮助我调试任何问题。不幸的是,删除这些文件/var/lib/systemd/coredump
只会使 coredumpctls 输出的“PRESENT”列中的星号消失。
我找不到任何方法来删除联机帮助页或 coredumpctl 的帮助输出中有关 coredump 的所有信息。
答案1
首先,您可以修剪日志,丢弃一天之前的条目:
journalctl --vacuum-time=1d
由于“coredumpctl list”列出了日志记录的转储文件,因此您可以手动删除 /var/lib/systemd/coredump 中未列出的转储文件。
coredumpctl list
浏览转储文件,将文件与命令结果进行比较,并删除未列出的文件。
答案2
journalctl
仅存档日志文件,不包括coredump
文件,除非专门设置Storage=journal
。所以接受的答案不正确(缺少条件)。
例如,journalctl --vacuum-time=7d
保留不超过 7 天的日记。
我能找到的最接近的是该coredump.conf
文件,用于MaxUse
强制外部(默认Storage=external
)存储的核心转储占用磁盘空间,默认为/var/lib/systemd/coredump
.
查看kernel.core_pattern
cat /proc/sys/kernel/core_pattern
|/usr/lib/systemd/systemd-coredump %P %u %g %s %t %c %h
实时FM
答案3
这食谱对我有用(Fedora 37)。简而言之,首先分离当前的systemd
日志文件并用新创建的日志文件替换它们非常重要:
sudo journalctl --rotate
然后进行清理:
sudo journalctl --vacuum-time=1d
在那之后:
> coredumpctl list
No coredumps found.
答案4
元数据似乎保存在 systemd 日志中,所以它已经消失了
rm /var/log/journal/*/*
killall -9 systemd-journald
缺点是所有其他系统日志也消失了。
也许更清洁的方法是中给出的方法如何清除journalctl
journalctl --vacuum-time=2d