У меня сбой Arch Linux на устройстве. Устройство не имеет экрана, оно не отвечает на сеть. Поэтому я беру SD-карту, вставляю ее в рабочий стол Ubuntu, вижу свежий system.journal там и ... Как посмотреть, что внутри?
Из документации Arch Linux я знаю, что могу сделать:
strings /mnt/arch/var/log/journal/.../system.journal | grep -i message
Но это действительно просто. Вопрос в том:
Есть ли более удобный способ проверки system.journal из другой системы, чем использование строк ? Могу ли я, например, указать файл для чтения для journalctl ?
systemd
systemd-journald
MajesticRa
источник
источник
Ответы:
Во-первых, возможность использовать
strings
проистекает из простого совпадения в том, что journald не сжимает небольшие (ниже 64 КБ в текущей реализации) поля. Это не поддерживаемый способ чтения журналов, и в archwiki его действительно следует пометить как таковой. Это скорее последний метод восстановления.Теперь к вопросу. Из журнала (1) :
Итак, предполагая, что rootfs сломанной системы смонтирована
$DEST
, используйтеjournalctl -D $DEST/var/log/journal
для просмотра системного журнала.Для полноты картины : для того , чтобы просмотреть конкретный файл, использовать
journalctl --file
, напримерjournalctl --file /var/log/journal/$(cat /etc/machine-id)/system.journal
. Однако, поскольку файлы журнала периодически меняются, эта форма на самом деле не подходит для просмотра полных журналов.источник