Где и как смотреть логи
Поиск и анализ системных журналов для диагностики проблем
На этой странице
Системные журналы (логи) — это записи событий, которые происходят в операционной системе. Их анализ — первый и самый важный шаг в диагностике любой проблемы.
journalctl — основной инструмент
В современных дистрибутивах, включая ROSA, большинство логов управляется через systemd-journald. Для их просмотра используется утилита journalctl.
Основные команды
# Просмотреть все логи, начиная с самых старых
journalctl
# Все логи текущей загрузки (отсекает старые)
journalctl -b
# Логи предыдущей загрузки (число -2, -3 и т.д. для более старых)
journalctl -b -1
# Последние 100 строк журнала
journalctl -n 100
# Следить за логами в реальном времени (полезно при отладке)
journalctl -f
# Расширенный вывод с дополнительной информацией
journalctl -xe
Фильтрация по важности
Сообщения имеют уровень приоритета от 0 (наивысший) до 7 (отладка).
# Только ошибки (уровень 3) и выше
journalctl -p 3
# Можно использовать и названия
journalctl -p err # То же, что и -p 3
journalctl -p warning # Уровень 4
Фильтрация по времени
# За последний час
journalctl --since "1 hour ago"
# За сегодня
journalctl --since today
# Конкретный период
journalctl --since "2024-01-15 10:00" --until "2024-01-15 12:00"
Фильтрация по компоненту
# Логи конкретной службы (service)
journalctl -u NetworkManager
journalctl -u sddm # Экран входа KDE
journalctl -u sshd # SSH-сервер
# Логи, связанные с ядром
journalctl -k
dmesg — лог ядра
dmesg — это классическая утилита, которая выводит сообщения из кольцевого буфера ядра. Это особенно полезно для диагностики проблем с оборудованием при загрузке.
# Просмотр всех сообщений ядра
dmesg
# Фильтрация по ключевому слову (например, для USB или видеокарты)
dmesg | grep -i usb
dmesg | grep -i nvidia
Вывод dmesg идентичен выводу journalctl -k.
Классические лог-файлы в /var/log
Некоторые службы по-прежнему ведут текстовые логи в каталоге /var/log/.
| Файл | Назначение |
|---|---|
/var/log/dnf.log | История установки и удаления пакетов DNF. |
/var/log/Xorg.0.log | Лог графического сервера X11. Незаменим, если не запускается GUI. |
/var/log/secure | Информация о попытках входа, использовании sudo. |
/var/log/messages | Общие системные сообщения (часто дублируют journald). |
# Посмотреть последние 50 строк лога Xorg
tail -n 50 /var/log/Xorg.0.log
# Искать ошибки (EE) и предупреждения (WW) в логе Xorg
grep -E '\(EE\)|\(WW\)' /var/log/Xorg.0.log
Поиск логов конкретного приложения
Если вам нужно найти, куда пишет логи определённая программа, установленная через RPM:
# Показывает все файлы пакета и фильтрует те, что содержат 'log'
rpm -ql имя-пакета | grep log
Управление размером логов
Журнал journald может занимать много места.
Временная очистка
# Оставить логи только за последние 2 дня
sudo journalctl --vacuum-time=2d
# Ограничить общий размер журнала до 500 МБ
sudo journalctl --vacuum-size=500M
Постоянная настройка
Чтобы настроить лимиты на постоянной основе, отредактируйте файл /etc/systemd/journald.conf и раскомментируйте/измените нужные строки, например:
[Journal]
SystemMaxUse=500M
После этого перезапустите службу: sudo systemctl restart systemd-journald.