Ubuntu

訪問離線 systemd 實例的 systemd 日誌

  • November 17, 2020

TL;DR:如何訪問離線 systemd 實例的 systemd 日誌。

所以我現在正在將一些機器從以前的 LTS 版本遷移到 Ubuntu 16.04。這意味著現在一切都基於 systemd。

通常我會從我打算安裝的相同版本的救援磁碟引導我的機器,使用debootstrap. 這樣做的原因是,對於我的許多機器,我必須執行無頭設置。

在最近的一個案例中,我應該準備的機器被遠端站點上的某個人為我啟動,啟動了一個 SSH 伺服器並配置了一個使用者帳戶,以便我可以登錄。那台機器有一個螢幕,但由於設置了不兼容的模式,從 Ubuntu 顯示啟動畫面的那一點開始,螢幕一直是空白的。同時,我在 GRUB2 配置中解決了這個問題,但關鍵是,它本質上也是一個無頭場景。

所以我設置機器使用debootstrap並嘗試啟動。螢幕保持空白(無論哪種方式,我自己都不會像在實際的無頭安裝中那樣看到螢幕)。

什麼也沒發生,但是可以 ping 通機器,但是 SSH 顯然沒有執行。令人費解…

當我重新啟動機器時,我面臨著從離線機器訪問 systemd 日誌以找出問題所在的任務。即沒有執行但與執行的版本相同的systemd 實例的日誌。

問題:如何訪問目前未執行的 systemd 實例的 systemd 日誌?

# systemd --version
systemd 229
+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ -LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN

如果您可以掛載離線系統的磁碟,則可以將-Dor--directory選項與journalctl. 例如,如果您將磁碟掛載到/mnt,您可以使用以下命令訪問其日誌

journalctl -D /mnt/var/log/journal

引用自:https://unix.stackexchange.com/questions/319038