systemd-journald 日志位置

systemd-journald log location

在深入研究源代码以查看答案是否存在之前,我问的可能是一个简单的问题:systemd 日志文件的 /var/log/journal 位置是否硬编码到二进制文件中?那样的话,我并不是说 "is it the default?" 我的意思是我试图在我能找到的每个可能控制设置的位置覆盖默认值,并且 systemd-journald 愉快地忽略这些设置并返回到 /var/log/journal 位置。或者完全停止记录。这些地点包括:

/etc/systemd/journald.conf
/usr/lib/tmpfiles.d/systemd.conf
/usr/lib/tmpfiles.d/var.conf
/lib/systemd/system/systemd-journal-flush.service

我是不是在某处遗漏了配置设置?发行版是 Ubuntu 16.04。系统设计限制提示问题,所以请不要 "Why in world would you ever..." 输入答案。谢谢

是的,它是硬编码的。 /usr/lib/tmpfiles.d/systemd.conf 设置目录(通过 systemd-tmpfiles 服务),但 journald 不在那里检查目录应该是什么。此外,无论如何你都不应该编辑 /usr/lib/ 中的文件——所有 systemd 服务都支持覆盖机制,不需要编辑属于包管理器的文件(例如 /etc/tmpfiles.d/systemd.conf 可用于完全覆盖 /usr/lib/tmpfiles.d/systemd.conf).