핵심요약: 오프라인 시스템 인스턴스의 시스템 로그에 액세스하는 방법.
따라서 이제 이전 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