Где хранятся логи в Linux?

Типичные файлы /var/log, постоянный и временный journal, отдельные журналы приложений. Пути зависят от дистрибутива и настроек.

Короткий ответ

Что ответить на собеседовании

Часто логи находятся в /var/log, но конкретные файлы зависят от дистрибутива и служб. systemd-journald может хранить journal в /var/log/journal или временно в /run/log/journal; его читают journalctl. Приложения и контейнеры могут отправлять события в другие каталоги, stdout/stderr или центральное хранилище.

Подробный разбор

Ответ с пояснениями

Начните с конфигурации конкретной системы, а не с обещания одного обязательного файла. В /var/log часто встречаются:

  • syslog или messages — общесистемные сообщения при соответствующем syslog-сборе;
  • auth.log или secure — события аутентификации;
  • отдельные каталоги веб-сервера, базы данных и других приложений.

Названия не универсальны: файл может отсутствовать, если используется другая конфигурация. Текстовые журналы удобно читать через less или tail; при ротации полезен tail -F, отслеживающий имя файла.

systemd journal имеет собственный двоичный формат. Постоянное хранение обычно находится в /var/log/journal, временное — в /run/log/journal; выбор зависит от Storage= и состояния системы. Правила описаны в journald.conf(5). Для просмотра используют, например, journalctl -b для текущей загрузки и journalctl -u nginx для службы.

Сообщения ядра можно читать через journalctl -k или dmesg с учётом доступных прав. Кольцевой буфер ядра не равен обязательному файлу /var/log/dmesg.

Наконец, приложение может писать в свой путь, контейнер — в stdout/stderr, а агент — пересылать события на отдельный сервер. Если лог не найден, проверьте настройки назначения, права чтения, ротацию и сроки хранения.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку