служба запускается вручную, но не при старте системы — как найти причину и исправить

  • Обновлено
  • Чтение ≈ 4 минуты
  • Нужны права администратора

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

Системная служба (systemd) в установленной Arch Linux запускается командой start, но после перезагрузки остаётся inactive/failed. Инструкция не относится автоматически к службам systemctl --user и единицам без секции Install.

В этой статье
  1. Симптом и границы применимости
  2. Возможные причины и признаки
  3. Подробная диагностика и безопасные действия
  4. Как понять, что проблема устранена
  5. Что делать, если не помогло

#Симптом и границы применимости

Системная служба (systemd) в установленной Arch Linux запускается командой start, но после перезагрузки остаётся inactive/failed. Инструкция не относится автоматически к службам systemctl --user и единицам без секции Install.

#Возможные причины и признаки

Возможная причинаКак узнатьЧто делать
Автозагрузка выключенаРучной start не создаёт связей для следующей загрузки.systemctl is-enabled показывает disabled.Включить unit, если у него есть подходящая [Install].
Зависимости ещё недоступныПрограмма ждёт сеть, том или другой сервис.В журнале отказ по пути или таймаут при загрузке, но ручной старт успешен.Проверить реальные зависимости, а не добавлять произвольную паузу.
Штатное состояние static/indirectНекоторые службы запускаются по требованию другим юнитом.is-enabled показывает static, indirect или alias.Найти активирующий .socket/.timer, не применять enable вслепую.

#Подробная диагностика и безопасные действия

  1. 1. Уточните имя службыОткройте терминал локальной Arch Linux или SSH-сеанс; вместо ПРИМЕР.service введите настоящий идентификатор из ошибки. Сначала выясните, является ли он системным: пользовательские службы ищутся с --user. При not-found не продолжайте — выясните имя пакета.
  2. Диагностическая команда в терминале Arch Linux, без изменения настроек
    Linux · Терминал (Bash)Команда
    Диагностическая команда в терминале Arch Linux, без изменения настроек.
    systemctl list-unit-files --type=service --no-pager
    systemctl status ПРИМЕР.service --no-pager
  1. 2. Проверьте, включена ли автозагрузкаКоманда is-enabled различает enabled, disabled, static и masked. При masked выясните, кто и зачем запретил запуск; не снимайте маску автоматически. Запишите исходное состояние — оно потребуется для отката.
  2. Диагностическая команда в терминале Arch Linux, без изменения настроек
    Linux · Терминал (Bash)Команда
    Диагностическая команда в терминале Arch Linux, без изменения настроек.
    systemctl is-enabled ПРИМЕР.service
    systemctl cat ПРИМЕР.service
  1. 3. Исследуйте ошибку прошлой загрузкиСравните время и причину неудачного запуска, ищите отсутствие файла, ошибки прав или таймаут сетевого адреса. Если предыдущие логи отсутствуют, используйте текущий журнал после контролируемого старта. Не делайте вывод по одной строке active.
  2. Диагностическая команда в терминале Arch Linux, без изменения настроек
    Linux · Терминал (Bash)Команда
    Диагностическая команда в терминале Arch Linux, без изменения настроек.
    journalctl -b -1 -u ПРИМЕР.service --no-pager -n 100
    journalctl -b -u ПРИМЕР.service --no-pager -n 100
  1. 4. Разберите цепочку запускаПосмотрите полное определение unit, поля After/Wants/Requires, а также список зависимостей. Для сетевых служб network.target не означает «DNS уже работает»; нужная зависимость определяется приложением. Показанные зависимости помогают найти настоящий блокирующий ресурс.
  2. Диагностическая команда в терминале Arch Linux, без изменения настроек
    Linux · Терминал (Bash)Команда
    Диагностическая команда в терминале Arch Linux, без изменения настроек.
    systemctl show ПРИМЕР.service -p After -p Wants -p Requires -p WantedBy
    systemctl list-dependencies ПРИМЕР.service --no-pager
  1. 5. Включите только корректно установленную службуТолько если is-enabled=disabled и секция [Install] содержит WantedBy/RequiredBy, выполните enable. Эта операция изменяет ссылки автозагрузки; она не устраняет ошибки самой программы. Если вывод сообщает no installation config, работайте с запускающим таймером/сокетом по документации пакета.
  2. Права администратора; enable создаёт правила автоматического запуска
    Linux · Терминал (Bash)С осторожностьюНужен sudo
    Права администратора; enable создаёт правила автоматического запуска. Для отката: sudo systemctl disable ПРИМЕР.service.
    sudo systemctl enable ПРИМЕР.service
    systemctl is-enabled ПРИМЕР.service

    Команда может изменить состояние системы или её настройки. Проверьте параметры и последствия перед запуском.

  1. 6. Запустите пробно и проверьте реальную функциюПроверьте отказ службы и её журнал после одного контролируемого старта. Если сервер используется людьми, согласуйте остановку и повторный старт. Действующий процесс не гарантирует работу сетевого порта — проверьте интерфейс программы и её журнал.
  2. Дополнительная команда по теме
    Linux · Терминал (Bash)С осторожностьюНужен sudo
    Выполняйте в терминале Arch Linux; изменяйте только указанную и предварительно проверенную настройку.
    sudo systemctl start ПРИМЕР.service
    systemctl status ПРИМЕР.service --no-pager
    journalctl -u ПРИМЕР.service -b --no-pager -n 40

    Команда может изменить состояние системы или её настройки. Проверьте параметры и последствия перед запуском.

  1. 7. Проверьте следующую загрузкуНа удалённом сервере перезагружайте машину только при наличии консоли восстановления и окна обслуживания. После плановой перезагрузки повторите проверки: служба должна стартовать без ручного вмешательства; иначе сравните журнал и верните настройку enable к исходному состоянию.
  2. Диагностическая команда в терминале Arch Linux, без изменения настроек
    Linux · Терминал (Bash)Команда
    Диагностическая команда в терминале Arch Linux, без изменения настроек.
    systemctl is-active ПРИМЕР.service
    systemctl is-enabled ПРИМЕР.service
    journalctl -b -u ПРИМЕР.service --no-pager -n 50

#Как понять, что проблема устранена

Повторите исходное действие, из-за которого возникла неисправность, и сверяйте не только код завершения команды, но и прикладной результат. Сохраните вывод последней диагностической команды и записи журнала до и после исправления. Если ошибка повторяется, верните только изменённую настройку из резервной копии и передайте специалисту точный симптом, имя программы/службы, версию системы и необходимые фрагменты журнала без паролей и закрытых ключей.

#Что делать, если не помогло

Не применяйте случайные советы для другого дистрибутива: в Arch Linux особенно опасны частичные обновления пакетов, а в Rocky Linux — отключение SELinux или неконтролируемый перезапуск системных служб. Остановитесь после неуспешного безопасного шага, зафиксируйте фактическое сообщение и вернитесь к соответствующей причине. Для загрузки, разделов диска и единственного удалённого подключения используйте резервную копию и локальную консоль.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.