대답은 간단합니다. "journalctl" 명령을 사용하세요.
하지만 먼저 문제를 설명하자면,
우분투 서버 충돌 이벤트가 발생하여 일부 log/.journal 파일을 성공적으로 추출했습니다. 이 이벤트를 처리하는 다음 방법은 이러한 파일을 읽고 분석하는 것이었습니다.
2가지 요청이 논의 중입니다:
A. Windows 환경에서 .journal 파일을 읽는 방법
B. Windows 운영 체제 이외의 방법을 사용하여 .journal 파일을 읽습니다.
첫 번째는 가장 중요한 요청이지만 너무 어려워 보이고 다른 우분투 호스트를 사용하고 "journalctl --file /path_to_the_file" 명령을 사용하여 대상을 완벽하게 해결했기 때문에 건너뛰었습니다. (또한 "컨텐츠를 .txt 파일로 내보내기" >" 기호를 통해)
이제 "cat" 명령을 사용하여 .journal 파일을 읽은 후 콘솔 디스플레이에 잘못된 문자가 나타나고 문제를 해결하려면 재부팅하는 것 외에는 선택의 여지가 없다는 것을 알게 되었습니다.
"vi" 명령도 작동하지 않습니다.
그렇다면 "journalctl" 명령이 .journal 파일을 정상적으로 탐색하는 유일하고 직접적인 방법입니까?
답변1
이제 "cat" 명령을 사용하여 .journal 파일을 읽을 때 콘솔 디스플레이에 잘못된 문자가 나타나는 것을 발견했습니다.
물론. 바이너리 파일입니다
혼란을 해결하기 위해 재부팅하는 것 외에는 선택의 여지가 없었습니다.
이것은 정확하지 않습니다. 일반적으로 Control-j, reset, Control-j
이 문제는 조합을 사용하여 해결할 수 있습니다 (참조여기이 경우 "터미널 혼돈"에 대한 자세한 내용) 또는 새 터미널을 엽니다.
그렇다면 "journalctl" 명령이 .journal 파일을 정상적으로 탐색하는 유일하고 직접적인 방법입니까?
바이너리 파일이기 때문에 유일한 옵션은 해당 바이너리 형식을 구문 분석할 수 있는 프로그램을 사용하는 것입니다. 이것이 바로 Journalctl이 수행하는 작업입니다. 또는 사용자 정의 스크립트를 사용할 수 있습니다. 예를 들어 Python에서는 systemd.journal 라이브러리(https://stackoverflow.com/questions/26331116/reading-systemd-journal-from-python-script), Windows로 이식 가능한지는 확실하지 않습니다.
다른 접근 방식을 선택할 수도 있습니다. 파일을 어딘가에 복사하고(가상 머신이나 Linux 컨테이너로도 충분할 수 있음) journalctl -D <path to exported journal>
.