Wie kann ich die systemd-Journaldatei auf einem System ohne systemd lesen?

18

Ich versuche, ein System (Arch Linux) zu beheben, auf dem systemd installiert war.

Das Volume wurde auf einem Ubuntu-System (14.04) bereitgestellt, auf dem kein System installiert ist.

Wie kann ich dieses systemd-Journal beheben, ohne die Host-Box auf systemd umzustellen?

apt-get install journalctl funktioniert nicht.

jottr
quelle
Verwenden Sie eine Linux-Version, auf der systemd ausgeführt wird, z. B. Arch, Fedora oder Ubuntu 15.04
Panther,
Sie müssen nicht auf systemd umsteigen, es wird nur die journalctl-Binärdatei benötigt ... die für 14.04 leider nicht verfügbar ist (alle PPAs scheinen nicht mehr zu funktionieren). Sogar 14.10 würde reichen.
muru
@ bodhi.zaen Dies wäre die naheliegende Lösung, aber nicht, es ist derzeit nicht möglich.
2.
2
Ein VM- oder LXC-Container ist möglicherweise einfacher und sicherer.
muru
2
Nein, ein Upgrade auf 15.04 wird nicht helfen: Ubuntus journalctl ist nicht mit archlinux'journal kompatibel . Archlinux verwendet die lz4- Komprimierung, während Ubuntu die xz- Komprimierung verwendet. So kann man mit journalctl aus dem anderen System keine Journaldatei aus einem System auslesen. eine einfache chroot sollte reichen, nein?
solsTiCe

Antworten:

5

chroot in das Arch Linux System:

cd /location/of/arch/root
chroot /location/of/arch/root /bin/bash

journalctl sucht nach den Journaldateien in /var/log/journal/machine-id/. Wenn Sie mit einem Rettungs-Betriebssystem booten, das eine andere Rechner-ID oder einen anderen Root hat, werden dort keine Daten gefunden.

Daher,

a) verwenden journalctl --directory=/var/log/journal/<machine-id>

b) oder journalctl -m

Mit der Option "-m" werden die Journale aller Verzeichnisse zusammengeführt /var/log/journal/*, sodass die Rechner-ID des Hosts nicht mehr ermittelt werden muss.

Quelle

daltonfury42
quelle
Ich habe dies mit Ubuntu 16.04 / Arch Linux getestet, konnte aber kein 14.04 in die Hände bekommen.
Daltonfury42
-2

Das Wiederherstellungsprogramm für die Befehlszeilenpartition mit dem Namen TestDisk sollte eine Manipulation des Systemd-Volumes (Arch Linux) ermöglichen


Dies ist keine vollständige oder "gute" Lösung. aber TestDisk kann

  1. Erstellen Sie eine Partitionstabelle neu, und stellen Sie gelöschte Partitionen wieder her
  2. Suchen Sie den ext2 / ext3 / ext4 Backup SuperBlock
  3. Kopieren Sie Dateien von einer gelöschten ext2 / ext3 / ext4-Partition.
  4. Behandeln Sie ein nicht partitioniertes Volume
  5. Schreiben Sie den Master Boot Record (MBR) neu

Versuche es.

$ sudo apt-get install testdisk

Starte es

$ sudo testdisk

Drücken Sie Enter , um ein neues Protokoll zu erstellen, und wählen Sie die Festplatte mit dem Volume aus, das Sie bearbeiten möchten

Wählen Sie den Partitionstabellentyp aus.
dein ist Intel

von hier aus kannst du

  • Dateien anzeigen
  • Dateien kopieren

ich hoffe es hilft

John
quelle
1
Weitere Informationen über die Verwendung von Testdisk würden , falls die Verbindung hilfreich sein , bricht in der Zukunft.
George Udosen
@ George ist das was du wolltest?
John
Das ist ein guter Anfang, aber wenn Sie sich den unteren Teil des Links ansehen, sehen Sie einen Abschnitt namens Dokumentation. Dort finden Sie einen schrittweisen Link. Versuchen Sie dies. Beachten Sie jedoch, dass Ihre Antwort abgelehnt wurde Post.
George Udosen