systemd-journald根本不启动

偶然删除我的/var/log/journal后,我无法从后果中恢复过来。 每当我尝试启动systemd-journald时,都会一遍systemd-journald着。 当我运行:

 $ journalctl --verify PASS: /run/log/journal/system.journal 

这不会让我更近一步来解决它,因为/usr/lib/systemd/systemd-journald run /usr/lib/systemd/systemd-journald直接运行/usr/lib/systemd/systemd-journald

 $ /usr/lib/systemd/systemd-journald Failed to open runtime journal: Invalid argument 

我已经尝试过的事情:

  1. 清理/var/log/journal and / run / log / journal`。
  2. /var/log/journal从另一台机器复制到两个path,运行journalctl --verify检查它们,再次用--file标志。
  3. /etc/systemd/journald.conf存储设置更改为Storage=volatile仅用于禁用/var/log/journald
  4. 重新启动。

在重命名主机名后,通过运行systemd-machine-id-setup删除&重新创build/etc/machine-id并重新启动以应用这些,systemd-journald又回来了!

尝试删除/var/log/journal以防止以前的恢复尝试中有剩余的情况。 然后在/etc/systemd/journald.conf设置Storage=persistent并重启。

通常systemd应该在重新启动时重新创build/var/log/journal

如果这没有帮助尝试

 mkdir -p /var/log/journal systemd-tmpfiles --create --prefix /var/log/journal 

试试: systemctl stop systemd-journald && strace systemctl start systemd-journald

这应该在stream程启动的时候stream传很多细节。 最后一行可能会提供一个线索为什么它继续失败。