systemd system.journalを別のシステムから検査する方法


23

デバイスでarch linuxが失敗します。デバイスには画面がなく、ネットワークに応答しません。だから私はそのSDカードを取り、ubuntuデスクトップに挿入し、そこに新しいsystem.journalを見て、そして...中身を見る方法は?

Arch Linuxのドキュメントから、私ができることはわかっています:

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

しかし、それは本当に基本的なことです。質問は:

文字列を使用するよりも、別のシステムからsystem.journalを検査するより便利な方法はありますか?たとえば、journalctlで読み込むファイルを指定できますか?


journalctl --file = file_to_examineはどうですか?
タリエジン

回答:


24

第一に、stringsjournaldは小さなフィールド(現在の実装では64KiB未満)を圧縮しないという単なる偶然性から生じる機能です。これは、ジャーナルを読むためのサポートされている方法ではありません。archwikiでは、そのようにマークする必要があります。それは最後の溝の回復方法です。

次に質問に移ります。journalctl(1)

-D DIR、-directory = DIR

引数としてディレクトリパスを取ります。指定されている場合、journalctlは、デフォルトのランタイムおよびシステムジャーナルパスではなく、指定されたジャーナルディレクトリDIRで動作します。

したがって、破損したシステムのrootfsがの下$DESTにマウントされていると仮定すると、journalctl -D $DEST/var/log/journalそのシステムログを表示するために使用します。

完全を期すために:特定のファイルを表示するにはjournalctl --file、などを使用しますjournalctl --file /var/log/journal/$(cat /etc/machine-id)/system.journal。ただし、ジャーナルファイルは定期的にローテーションされるため、このフォームは完全なジャーナルを表示するために実際には使用できません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.