So überprüfen Sie systemd system.journal von einem anderen System

23

Ich habe Arch Linux auf einem Gerät fehlgeschlagen. Das Gerät hat keinen Bildschirm und reagiert nicht auf das Netzwerk. Also nehme ich seine SD-Karte, lege sie in Ubuntu Desktop ein, sehe ein neues system.journal dort und ... Wie kann ich sehen, was drin ist?

Aus der Arch Linux-Dokumentation weiß ich, dass ich Folgendes tun kann:

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

Aber es ist sehr einfach. Die Frage ist:

Gibt es eine bequemere Möglichkeit, system.journal von einem anderen System aus zu überprüfen, als Zeichenfolgen zu verwenden ? Kann ich zum Beispiel die Datei angeben, die für journalctl gelesen werden soll ?

MajesticRa
quelle
Was ist mit journalctl --file = file_to_examine?
Taliezin

Antworten:

24

Erstens werden stringskleine Felder (unter 64 KB in der aktuellen Implementierung) nicht komprimiert, wenn die Möglichkeit besteht, nur zufällige Ergebnisse in diesem Journal zu verwenden. Dies ist keine unterstützte Methode, um Zeitschriften zu lesen, und im Archwiki sollte sie wirklich als solche gekennzeichnet sein. Es ist eher eine Methode zur Wiederherstellung nach dem letzten Graben.

Nun zu der Frage. Aus journalctl (1) :

-D DIR, --directory = DIR

Nimmt einen Verzeichnispfad als Argument. Wenn angegeben, verarbeitet journalctl das angegebene Journalverzeichnis DIR anstelle der standardmäßigen Laufzeit- und Systemjournalpfade.

So unter der Annahme, dass das gebrochenen System rootfs unter montiert ist $DEST, verwenden Sie journalctl -D $DEST/var/log/journalsein Systemprotokoll anzuzeigen.

Der Vollständigkeit halber: Um eine bestimmte Datei anzuzeigen, verwenden Sie journalctl --filez journalctl --file /var/log/journal/$(cat /etc/machine-id)/system.journal. Da die Journaldateien jedoch regelmäßig gedreht werden, kann dieses Formular nicht zum Anzeigen vollständiger Journale verwendet werden.

intelfx
quelle