Bagaimana cara memeriksa systemd system.journal dari sistem lain

23

Saya memiliki linux arch gagal pada suatu perangkat. Perangkat tidak memiliki layar apa pun, tidak menanggapi jaringan. Jadi saya mengambil kartu SD-nya, memasukkannya ke desktop ubuntu, melihat system.journal yang baru di sana dan ... Bagaimana cara melihat apa yang ada di dalamnya?

Dari dokumentasi Arch Linux saya tahu bahwa saya dapat melakukan:

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

Tetapi ini sangat mendasar. Pertanyaannya adalah:

Apakah ada cara yang lebih mudah untuk memeriksa system.journal dari sistem lain, daripada menggunakan string ? Dapatkah saya misalnya menentukan file yang akan dibaca untuk journalctl ?

MajesticRa
sumber
bagaimana dengan journalctl --file = file_to_examine?
taliezin

Jawaban:

24

Pertama, kemampuan untuk menggunakan stringsberasal dari kebetulan belaka dalam journald yang tidak kompres kecil (di bawah 64KiB dalam implementasi saat ini) bidang. Ini bukan cara yang didukung untuk membaca jurnal, dan dalam archwiki itu harus ditandai seperti itu. Ini lebih merupakan metode pemulihan terakhir.

Sekarang ke pertanyaan. Dari journalctl (1) :

-D DIR, --directory = DIR

Mengambil jalur direktori sebagai argumen. Jika ditentukan, journalctl akan beroperasi pada DIR direktori jurnal yang ditentukan alih-alih runtime default dan jalur jurnal sistem.

Jadi, dengan asumsi bahwa rootfs sistem yang rusak sudah terpasang di bawah $DEST, gunakan journalctl -D $DEST/var/log/journaluntuk melihat log sistemnya.

Demi kelengkapan: untuk melihat file tertentu, gunakan journalctl --file, mis journalctl --file /var/log/journal/$(cat /etc/machine-id)/system.journal. Namun, karena file jurnal diputar secara berkala, formulir ini tidak dapat digunakan untuk melihat jurnal lengkap.

intelfx
sumber