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