8.1 Диагностика загрузки

# Общее время загрузки системы
systemd-analyze

# Какой сервис тормозит больше всего
systemd-analyze blame

# Граф зависимостей (создаёт SVG)
systemd-analyze plot > boot.svg

# Логи текущей загрузки
journalctl -b

# Логи предыдущей загрузки
journalctl -b -1

# Сообщения ядра при загрузке
dmesg | head -50

# Список всех активных сервисов
systemctl list-units --type=service

8.2 Управление сервисами

systemctl start nginx      # запустить сервис
systemctl stop nginx       # остановить сервис
systemctl restart nginx    # перезапустить сервис
systemctl reload nginx     # перечитать конфиг (без перезапуска)
systemctl enable nginx     # добавить в автозапуск
systemctl disable nginx    # убрать из автозапуска
systemctl status nginx     # статус сервиса
systemctl is-active nginx  # активен ли сервис?
systemctl is-enabled nginx # включён ли автозапуск?

8.3 Информация о системе

uname -r               # версия ядра
uname -a               # полная информация
cat /proc/version      # версия ядра подробно
cat /proc/cmdline      # параметры загрузки ядра
lsblk                  # список дисков и разделов
lsblk -f               # + файловые системы и UUID
df -h                  # использование дисков
free -h                # использование памяти
uptime                 # время работы системы

8.4 Работа с GRUB

# Обновить конфиг GRUB после изменений
sudo update-grub

# Установить GRUB на диск
sudo grub-install /dev/sda

# Просмотр текущих параметров загрузки
cat /proc/cmdline

8.5 Работа с initramfs

# Просмотр содержимого
lsinitramfs /boot/initramfs-$(uname -r).img

# Пересоздать initramfs
sudo update-initramfs -u

# Размер файла
ls -lh /boot/initramfs-$(uname -r).img

8.6 Дерево зависимостей systemd

# Зависимости для graphical.target
systemctl list-dependencies graphical.target

# Что зависит от конкретного сервиса
systemctl list-dependencies --reverse nginx.service

# Просмотр unit-файла
systemctl cat nginx.service

8.7 Журналы

journalctl -b            # текущая загрузка
journalctl -b -1         # прошлая загрузка
journalctl -u sshd       # логи конкретного сервиса
journalctl -p err        # только ошибки
journalctl -p warning    # предупреждения и выше
journalctl -f            # в реальном времени (tail -f)
journalctl --since "2024-01-01" --until "2024-01-02"
journalctl --disk-usage  # размер журнала на диске
// Курс завершён
Вы изучили полный цикл загрузки Linux: от Reset Vector и POST через GRUB2 и ядро, через initramfs и switch_root до systemd, Display Manager и пользовательской сессии. Используйте команды из этого раздела для диагностики и понимания вашей системы.
← Пользовательская сессия 🏠 На главную