Журнал копит записи о том, что происходило на машине. Состояние службы описывает только её последний запуск.
Журнал systemd собирает сообщения со всей машины: от ядра, от systemd, от служб — всё, что их программы печатают в вывод. Каждая строка — запись: время, имя машины, источник с номером процесса в скобках и текст. lab-demo[1116]: settings-missing — запись программы lab-demo с PID 1116.
Записи не исчезают, когда служба поправилась: старый отказ стоит в журнале выше нового успешного запуска. Поэтому о текущем состоянии спрашивают systemctl, а журнал показывает, что было и в каком порядке.
Журнал одной службы ты уже читал в модуле о службах — sudo journalctl -u для cron, nginx и lab-worker. sudo journalctl без ключей выводит весь журнал машины, -u оставляет записи одной службы, а без --no-pager вывод открывается в пейджере less (выход — q). Записи служб и системы читают root и группы adm и systemd-journal, а student — только свои. Проверь это на lab-demo без sudo:
journalctl напишет подсказку Hint: You are currently not seeing messages from other users and the system и -- No entries --. То же с systemctl status: последние записи службы под её состоянием он показывает только с sudo.
Журнал службы, запрошенный без sudo, напечатал такое. Что это значит?
$ journalctl -u lab-demo.service --no-pager
Hint: You are currently not seeing messages from other users and the system.
Users in groups 'adm', 'systemd-journal' can see all messages.
Pass -q to turn off this notice.
-- No entries --
-
Записи на месте: с
sudoони видны. Без прав журнал показывает student только его собственные записи. -
С тем же именем и
sudoзаписи нашлись. Дело в правах на чтение журнала. -
С
sudoта же команда показала оба запуска. Пустой вывод — из-за прав, подсказкаHintпрямо об этом.
Записи служб читают root и группы adm и systemd-journal. student видит только свои записи, поэтому без sudo выборка пуста.
Главное в шаге
- Журнал хранит записи всех запусков: время, источник с PID и текст.
-
О нынешнем состоянии службы спрашивают
systemctl, о том, что с ней было, — журнал. -
Записи служб student читает через
sudo, иначе видит-- No entries --.