TL;DR: как получить доступ к журналу systemd автономного экземпляра systemd.
Итак, я сейчас перевожу некоторые машины на Ubuntu 16.04 с предыдущей версии LTS. Это значит, что теперь все основано на systemd.
Обычно я загружаю свои машины с диска восстановления той же версии, которую собираюсь установить, используя debootstrap
. Причина этого в том, что для многих моих машин мне приходится запускать headless-настройку.
В недавнем случае машина, которую я должен был подготовить, была загружена для меня кем-то на удаленном сайте, был запущен SSH-сервер и настроена учетная запись пользователя таким образом, чтобы я мог войти в систему. У этой машины был экран, но из-за установки несовместимого режима экран оставался пустым с того момента, как Ubuntu показывает заставку. Я решил это в конфигурации GRUB2, но суть в том, что это был по сути безголовый сценарий.
Итак, я настроил машину с помощью debootstrap
и попытался загрузиться. Экран остался пустым (и в любом случае я бы сам не увидел экран, как в реальной установке без головы).
Ничего не произошло, но машина пинговалась, но 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