![存取離線 systemd 實例的 systemd 日誌](https://rvso.com/image/97260/%E5%AD%98%E5%8F%96%E9%9B%A2%E7%B7%9A%20systemd%20%E5%AF%A6%E4%BE%8B%E7%9A%84%20systemd%20%E6%97%A5%E8%AA%8C.png)
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
答案1
如果您可以掛載離線系統的磁碟,則可以使用-D
或--directory
選項journalctl
。例如,如果將磁碟掛載到/mnt
,則可以使用下列命令存取其日誌
journalctl -D /mnt/var/log/journal