0xC*_*22L 1 ubuntu systemd-journald
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
Run Code Online (Sandbox Code Playgroud)
如果您可以挂载离线系统的磁盘,则可以使用-D
或--directory
选项journalctl
。例如,如果将磁盘挂载到/mnt
,则可以使用以下命令访问其日志
journalctl -D /mnt/var/log/journal
Run Code Online (Sandbox Code Playgroud)