如何在没有systemd的系统上读取systemd日志文件?


18

我正在尝试对已安装systemd的系统(Arch Linux)进行故障排除。

该卷已安装在未安装systemd的Ubuntu系统(14.04)上。

如何在不将主机箱切换到systemd的情况下对systemd日记进行故障排除?

apt-get install journalctl 不起作用。


使用运行systemd的Linux版本,例如Arch,Fedora或Ubuntu 15.04
Panther

您无需切换到systemd,仅需要journalctl二进制文件...不幸的是,该文件不适用于14.04(所有PPA似乎都已失效)。甚至14.10也可以。
muru

@ bodhi.zaen这将是显而易见的解决方案,但目前尚无法解决。
jottr

2
VM或LXC容器可能更简单,更安全。
muru

2
不可以。升级到15.04并没有帮助:ubuntu的journalctl与archlinux'journal文件不兼容。Archlinux使用lz4压缩,而ubuntu使用xz压缩。因此,一个人无法从另一系统的带有journalctl的系统读取日志文件。一个简单的chroot应该足够了,不是吗?
solsTiCe 2015年

Answers:


5

chroot 进入Arch Linux系统:

cd /location/of/arch/root
chroot /location/of/arch/root /bin/bash

journalctl在中查找日志文件/var/log/journal/machine-id/。如果您使用具有不同机器ID或不同根目录的紧急救援OS进行引导,则在该操作系统中将找不到任何数据。

因此,

a)使用 journalctl --directory=/var/log/journal/<machine-id>

b)或 journalctl -m

“ -m” swicth合并了中所有目录的日志/var/log/journal/*,因此无需弄清主机的机器ID。

资源


我已经在Ubuntu 16.04 / Arch Linux上进行了测试,但是无法使用14.04。
daltonfury42

-2

名为TestDisk的命令行分区恢复程序应允许对systemd(Arch Linux)卷进行一些操作


这不是一个完整的或“好的”解决方案。但是TestDisk可以

  1. 重建分区表,恢复已删除的分区
  2. 找到ext2 / ext3 / ext4备份超级块
  3. 从已删除的ext2 / ext3 / ext4分区复制文件。
  4. 处理未分区的卷
  5. 重写主启动记录(MBR)

试试看。

$ sudo apt-get install testdisk

启动它

$ sudo testdisk

Enter 创建新日志并选择要处理的卷的磁盘

选择分区表类型。
你是英特尔

从这里你可以

  • 查看文件
  • 复制档案

希望能帮助到你


1
有关如何使用TestDisk的更多信息,在将来链接中断时提供帮助。
乔治·乌德森

@George是您想要的吗?
约翰

这是一个很好的开始,但是请看一下链接的底部,您会看到一个名为“ 文档” 的部分,您会找到一个逐步的链接尝试一下,但是请注意,您的答案已被否决,因此在更新您的答案之前,请再次考虑该问题。发布。
乔治·乌德森
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.