我的 arch linux 在设备上失败了。该设备没有任何屏幕,不响应网络。所以我把它的SD卡插入ubuntu桌面,看到一个新的system.journal,然后...如何查看里面有什么?
从 Arch Linux 文档中我知道我可以这样做:
strings /mnt/arch/var/log/journal/.../system.journal | grep -i message
但这确实是基本的。问题是:
有没有比使用更方便的方法从另一个系统检查 system.journal字符串?例如,我可以指定要读取的文件吗日志控制?
答案1
首先,使用的能力strings
源于一个巧合,即日志不会压缩小字段(当前实现中低于 64KiB)。这不是一种受支持的阅读期刊的方式,在 archwiki 中确实应该这样标记。这更像是最后一搏的恢复方法。
现在回答问题。从日志控制(1):
-D DIR, --directory=DIR
采用目录路径作为参数。如果指定,journalctl 将在指定的日志目录 DIR 上操作,而不是在默认的运行时和系统日志路径上操作。
因此,假设损坏系统的 rootfs 挂载在 下$DEST
,请使用journalctl -D $DEST/var/log/journal
查看其系统日志。
为了完整起见:为了查看特定文件,请使用journalctl --file
,例如journalctl --file /var/log/journal/$(cat /etc/machine-id)/system.journal
。但是,请注意,日志文件会定期轮换,因此根据您的使用情况,此表单可能无法用于查看完整的日志。