Недавно у меня возникла проблема с тем, что systemd не сохраняет журналы предыдущих загрузок. Я проверил несколько ответов здесь и в других местах, но не нашел решения.
проблема в том, что журнал пользователя становится постоянным при загрузке, а системные журналы - нет.
/etc/systemd/journald.conf
[Journal]
Storage=persistent
SystemMaxUse=500M
SystemMaxFiles=5
journalctl -b -1
[root@2ba2de9e /var/log/journal] # journalctl --system -b -1
Data from the specified boot (-1) is not available: No such boot ID in journal
Я использую руку Archlinux на малиновом писе
версии 4.14.24-1-ARCH
systemd 237.64-1
systemd-sysvcompat 237.64-1
Кто-нибудь знает, почему это происходит? на моем настольном компьютере это работает без проблем?
Возможно, journald удаляет старые журналы из-за нехватки места на диске. (Вы не упомянули, сколько времени после загрузки -b -1
не работает, поэтому я не знаю, есть ли у вас много журналов с текущей загрузки в то время.)
У тебя есть SystemMaxUse=500M
настроен, но journald может решить использовать менее 500 МБ, если у вас не слишком много свободного места на диске. Также есть SystemKeepFree=...
параметр, который по умолчанию составляет 15% от размера файловой системы (или 4 ГБ, в зависимости от того, что меньше), и journald будет применять это ограничение сильнее, чем то, сколько места вы позволяете. Если у вас есть /var/log/journal
в тесном разделе, возможно, это может быть частью проблемы.
Вы можете использовать некоторые команды, чтобы проверить, сколько места использует journald, например:
$ journalctl --disk-usage
И вы, а также видите, сколько загрузок (а также их время и идентификаторы) знает journald с помощью:
$ journalctl --list-boots
Это также может помочь пролить свет на вашу проблему ...
Надеюсь, это поможет!