다른 시스템에서 systemd system.journal을 검사하는 방법 새로운 시스템을 확인하십시오. 아치 리눅스 문서에서 나는

장치에서 아치 리눅스가 실패했습니다. 장치에 화면이없고 네트워크에 응답하지 않습니다. 그래서 SD 카드를 가져 와서 우분투 데스크탑에 삽입하고 새로운 시스템을 확인하십시오.

아치 리눅스 문서에서 나는 내가 할 수 있다는 것을 안다.

 strings /mnt/arch/var/log/journal/.../system.journal | grep -i message

하지만 정말 기본입니다. 질문은 ~이야:

문자열을 사용하는 것보다 다른 시스템에서 system.journal을 검사하는 더 편리한 방법이 있습니까? 예를 들어 journalctl 에 읽을 파일을 지정할 수 있습니까 ?



답변

첫째, strings저널링 기능은 저널링이 작은 (현재 구현에서 64KiB 미만) 필드를 압축하지 않는다는 단순한 우연의 일치에서 비롯됩니다. 이것은 저널을 읽는 데 지원되는 방법이 아니며, 아치 위키에서는 실제로 그렇게 표시되어야합니다. 마지막 도랑 복구 방법에 가깝습니다.

이제 질문에. 에서 journalctl (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. 그러나 저널 파일이 주기적으로 회전하므로이 양식을 사용하여 전체 저널을 볼 수는 없습니다.