Files
Personal/linux/ubuntu_domain_leave.md
2026-08-05 10:30:10 +00:00

4.7 KiB
Raw Blame History

#🛠️ Runbook: Зависание загрузки Ubuntu 24.04 (AD + GDM)

Симптом: Система наглухо виснет на этапе загрузки после старта служб gdm.service и colord.service. В логах на экране наблюдаются массовые ошибки сокетов SSSD (Failed to listen on sssd-nss.socket и sssd-pam-priv.socket).

🔍 Анализ проблемы (Root Cause)

Сбой происходит из-за конфликта ожидания:

  1. SSSD (System Security Services Daemon) падает или уходит в бесконечный цикл из-за поврежденного локального кэша или "зависших" сокетов после некорректного завершения работы.
  2. GDM (GNOME Display Manager) пытается обратиться к PAM/NSS для инициализации экрана авторизации доменных пользователей.
  3. Дополнительным фактором зависания графического стека может выступать конфликт проприетарных драйверов Nvidia с Wayland, который включен в Ubuntu 24.04 по умолчанию.

🛠️ Шаги диагностики и восстановления

Шаг 1. Получение доступа к консоли (TTY)

Для начала необходимо пробиться в командную строку, минуя зависший GDM.

  • Попробуй переключиться в свободный TTY: нажми Ctrl + Alt + F3 (или F4–F6).
  • 🛑 Если система не реагирует: Уходим в Recovery Mode.
    1. Выполни жесткую перезагрузку.

    2. Зажми Shift (или Esc для UEFI) во время POST-загрузки. 3. В меню GRUB выбери: Advanced options for Ubuntu ➡️ Recovery mode ➡️ root (Drop to root shell prompt). 4. Внимание: если корневая ФС смонтирована в режиме "только чтение", перемонтируй ее: bash mount -o remount,rw /

                  ### Шаг 2. Восстановление SSSD (Главный подозреваемый)
                  Ошибки `Failed to listen on... socket` требуют очистки старых сокетов и сброса кэша базы AD.
      
                  ```bash
                  # 1. Останавливаем зависшую службу
                  systemctl stop sssd
      
                  # 2. Сбрасываем кэш (стандартная процедура при отвале доменной машины)
                  rm -f /var/lib/sss/db/*
      
                  # 3. Принудительно удаляем мертвые сокеты
                  rm -f /var/lib/sss/pipes/nss
                  rm -f /var/lib/sss/pipes/pam
      
                  # 4. Запускаем службу и проверяем статус
                  systemctl start sssd
                  systemctl status sssd
                  ```
                  > 💡 **Tip:** Если служба снова падает, проверь детальные логи: `journalctl -xeu sssd` или `/var/log/sssd/sssd.log`.
      
                  ### Шаг 3. Решение проблем с графическим стеком (GDM + Nvidia)
                  Если после сброса кэша SSSD (или его полного отключения через `systemctl disable sssd`) загрузка по-прежнему останавливается на `colord.service` или `gdm.service`, необходимо отключить Wayland, так как он часто конфликтует с драйверами Nvidia.
      
                  ```bash
                  # 1. Открываем конфигурацию GDM
                  nano /etc/gdm3/custom.conf  # (иногда /etc/gdm3/daemon.conf)
                  ```
      
                  ```ini
                  # 2. Находим и раскомментируем (убираем #) следующую строку:
                  WaylandEnable=false
                  ```
      
                  ```bash
                  # 3. Перезапускаем дисплейный менеджер
                  systemctl restart gdm.service
                  ```