Как проверить систему system.journal из другой системы

У меня возникла ошибка сбоя на устройстве. Устройство не имеет никакого экрана, оно не отвечает на сеть. Поэтому я беру SD-карту, вставляю ее в рабочий стол ubuntu, смотрю свежий журнал system.journal и … Как узнать, что внутри?

Из документации Arch Linux я знаю, что могу:

strings /mnt/arch/var/log/journal/.../system.journal | grep -i message 

Но это действительно основательно. Вопрос в том:

Есть ли более удобный способ проверить system.journal из другой системы, чем использовать строки ? Можно ли, например, указать файл для чтения для журнала ?

Во-первых, способность использовать strings проистекает из простого совпадения в том, что journald не сжимает небольшие (ниже 64KiB в текущей реализации) поля. Это не поддерживается для чтения журналов, и в арктике это действительно должно быть отмечено как таковое. Это скорее метод восстановления последней канавы.

Теперь на вопрос. Из журнала (1) :

-D DIR, –directory = DIR

Принимает путь к каталогу в качестве аргумента. Если указано, journalctl будет работать в указанном каталоге DIR журнала вместо путей по умолчанию и системных журналов.

Итак, предполагая, что journalctl -D $DEST/var/log/journal сломанной системы монтируется под $DEST , используйте journalctl -D $DEST/var/log/journal для просмотра системного журнала.

Для полноты: для просмотра определенного файла используйте файл journalctl --file , например, journalctl --file /var/log/journal/$(cat /etc/machine-id)/system.journal . Однако, поскольку файлы журнала периодически меняются, эта форма не может использоваться для просмотра полных журналов.