Як перевірити systemd system.journal з іншої системи


23

У мене арка Linux не працює на пристрої. У пристрою немає екрана, він не відповідає мережі. Тому я беру його SD-карту, вставляю її на робочий стіл ubuntu, бачу там свіжий system.journal і ... Як подивитися, що знаходиться всередині?

З документації на Arch Linux я знаю, що можу:

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

Але це дійсно базово. Питання:

Чи є більш зручний спосіб перевірити system.journal з іншої системи, ніж використання рядків ? Чи можу я, наприклад, вказати файл для читання для journalctl ?


а що з журналом - file = file_to_examine?
taliezin

Відповіді:


24

По-перше, можливість використання stringsвипливає з простого збігу в тому, що журнал не стискає невеликі (нижче 64KiB в поточній реалізації). Це не підтримуваний спосіб читання журналів, і в архівах він справді повинен бути позначений як такий. Це скоріше метод відновлення останнього канаву.

Тепер до питання. З journalctl (1) :

-D DIR, --директорія = DIR

В якості аргументу бере шлях до каталогу. Якщо вказано, journalctl буде працювати в зазначеному каталозі журналу DIR замість стандартних шляхів виконання та системних журналів.

Отже, припускаючи, що зламані корені системи встановлені під $DEST, використовуйте journalctl -D $DEST/var/log/journalдля перегляду її системного журналу.

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.