journalctl -b — команда, которая показывает все сообщения текущей загрузки и помогает за пару минут понять, что пошло не так после установки Arch Linux. Запустил, нашёл ошибки, погуглил — и починил.
journalctl — утилита для чтения журнала systemd (journald). В Arch Linux это основной способ получить логи: ядро, сервисы, демоны пишут в единый бинарный журнал.
Флаг -b означает «только текущая загрузка». Без него — логи всех загрузок, десятки тысяч строк. С -b — только то, что произошло после последнего включения.
После первой загрузки свежеустановленного Arch это критично: какой сервис упал, поднялась ли сеть, почему чёрный экран. В методике диагностики подход описан шире, здесь — только первые минуты.
Самый простой способ — запустить команду без аргументов:
journalctl -b
Вывод длинный. Чтобы сразу увидеть ошибки, добавь фильтр по приоритету:
journalctl -b -p err
Это покажет сообщения уровня err и выше. Основные уровни приоритетов (от строжайшего к мягкому):
| Уровень | Название | Что значит |
|---|---|---|
| 0 | emerg | Система неработоспособна |
| 1 | alert | Нужно исправить немедленно |
| 2 | crit | Критическое состояние |
| 3 | err | Ошибка |
| 4 | warning | Предупреждение |
Сеть не поднялась после установки? Проверяешь NetworkManager:
journalctl -b -u NetworkManager --no-pager
Флаг --no-pager убирает постраничный просмотр — вывод идёт сразу в терминал. Так же проверяются systemd-networkd, sshd, display-manager.
Знаешь примерное время сбоя — сузь выборку:
journalctl -b --since "10 min ago"
journalctl -b --since "12:00" --until "12:30"
Формат — любой, который понимает systemd: «20 min ago», дата со временем, даже «yesterday».
Проблемы с оборудованием, драйверами, диском попадают в логи ядра. Флаг -k покажет только kernel-сообщения:
journalctl -b -k --no-pager
Это аналог dmesg, но встроен в journalctl. Удобно, когда не распознался диск или Wi-Fi-адаптер.
Алгоритм для первых минут:
journalctl -b -p err --no-pager — видно, какие сервисы упали.journalctl -b -u NetworkManager --no-pager.journalctl -b -u NetworkManager -x — флаг -x добавляет объяснения из каталога systemd.journalctl -b -u NetworkManager -f — аналог tail -f.Если journalctl открывается в less, а нужен весь вывод — --no-pager решает проблему. Можно сохранить в файл:
journalctl -b --no-pager > /tmp/boot.log
Чтобы сравнить с прошлой загрузкой, сначала посмотри список:
journalctl --list-boots --no-pager
Каждая строка — загрузка с индексом и датой. -1 — предыдущая, -2 — ещё раньше:
journalctl -b -1 --no-pager
journalctl -b -1 -p err --no-pager
Полезно, когда хочешь понять, было ли так раньше. О первых шагах — в статье про первый час после установки Arch.
Если /var/log/journal существует, Arch хранит логи постоянно — до 10% файловой системы, но не больше 4 ГБ. По умолчанию каталога нет, и логи живут только в оперативной памяти. Диск маленький? Ограничь размер в /etc/systemd/journald.conf:
SystemMaxUse=100M
Затем перезапусти: sudo systemctl restart systemd-journald.
Если журнал раздулся — почисти: sudo journalctl --vacuum-size=100M. Актуально, если система не грузится после установки.
Флаг -p err фильтрует по приоритету. Убери его — получишь полный вывод, но он огромный. Лучше сужай по времени (--since) или по сервису (-u).
-k в journalctl показывает только kernel-сообщения, как и dmesg. Но journalctl работает с постоянным журналом и фильтрует по загрузке, времени и приоритету, а dmesg — кольцевой буфер ядра без истории.
Загрузись с live-USB, примонтируй корневой раздел в /mnt и посмотри журнал оттуда:
journalctl -D /mnt/var/log/journal -e
Флаг -D указывает альтернативную директорию с журналом — работает, даже если systemd не запущен.
Проверь, существует ли /var/log/journal/. Если нет — Arch работает в режиме Storage=auto и хранит логи только в оперативной памяти. Создай директорию:
sudo mkdir -p /var/log/journal
sudo systemctl restart systemd-journald
После этого логи начнут сохраняться постоянно.
Баннер и мусорные строки убирает --no-hostname: journalctl -b --no-hostname -p err --no-pager. Строки короче, читать удобнее.
journalctl -b — первое, что стоит запустить после первой загрузки Arch Linux. Фильтры по приоритету (-p), сервису (-u), времени (--since) и ядру (-k) помогут найти причину проблемы за минуты. Ошибки уровня err и выше — отправная точка диагностики. Научись читать journalctl — и большинство проблем решатся за минуты.
Задай вопрос в чате — отвечаем быстро, по делу и без воды.
Комментарии