Linux Labs

Пакеты, службы, журналы / Ступень 10 из 13

Журнал как источник доказательств

Не запущена Запускается обычно ~20 с
Выйти из урока

Шаг 2 из 7 · на машине · 7 мин

Журнал — история машины

Журнал копит записи о том, что происходило на машине. Состояние службы описывает только её последний запуск.

Журнал 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:

bash
journalctl -u lab-demo.service --no-pager

journalctl напишет подсказку Hint: You are currently not seeing messages from other users and the system и -- No entries --. То же с systemctl status: последние записи службы под её состоянием он показывает только с sudo.

Проверь себя 1 вопрос

Журнал службы, запрошенный без 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 --.
Ubuntu 24.04
Загрузка…