#Что происходит и когда это важно
После ручного start статус active, но после включения процесс не работает. Это может быть штатная служба, socket-activated либо пользовательская служба — процедуры отличаются.
#Возможные причины и как их отличить
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Автозапуск не включёнСлужба не привязана к целевому состоянию загрузки. | systemctl is-enabled выдаёт disabled. | Посмотреть Install и включить только согласованную службу. |
| Служба зависит от другого ресурсаПри загрузке недоступен диск, сеть или секрет. | Статус после перезагрузки failed и журнал содержит ошибку. | Проверить зависимости и устранить конкретную причину. |
| У юнита нет конфигурации установкиСтатус static указывает, что он запускается другой службой. | is-enabled выдаёт static. | Определить активатор, не пытаться enable вслепую. |
#Пошаговая диагностика и исправление
- Сверьте имя и тип службыОткройте терминал. На сервере подключитесь штатным способом, не закрывая резервный сеанс. Подставьте реальное имя вместо
ИМЯ.serviceв команды. Сначала выполнитеsystemctl status ИМЯ.service --no-pagerи посмотрите Active, Loaded и путь к unit-файлу. Если это пользовательский сервис, используйтеsystemctl --user, а неsudo. - Проверьте разрешение автозапускаВыполните
systemctl is-enabled ИМЯ.service. Ответ enabled означает установленные связи автозапуска; disabled — нет; static — unit не предназначен для отдельного enable; masked — заблокирован. Не пытайтесь включать masked до выяснения причины блокировки. - Просмотрите описание и способ запускаВыполните
systemctl cat ИМЯ.serviceи найдите разделы[Unit],[Service],[Install]. Если в Install нетWantedBy, статус static может быть нормальным. Проверьте наличие других сервисов/таймеров/сокетов, которые его активируют. - Сравните с состоянием после перезагрузкиПосле согласованной перезагрузки выполните
systemctl status ИМЯ.service --no-pagerиjournalctl -u ИМЯ.service -b --no-pager. Если failed, прочитайте первую реальную ошибку: отсутствие файла, зависимость или отказ прав. Не подменяйте диагностику установкой Restart=always. - Включайте только если юнит действительно должен стартовать постоянноПри
disabled, наличии подходящего[Install]и согласованном требовании администратор может выполнитьsudo systemctl enable ИМЯ.service. Это создаёт связи в конфигурации systemd, но не запускает службу немедленно. Для запуска отдельно используетсяsudo systemctl start ИМЯ.service. Не применяйте enable к нежелательным/временным службам. - Контролируйте и сохраняйте откатПосле тестовой перезагрузки проверьте active и работу приложения. Если ошибочно включили службу, администратор выполняет
sudo systemctl disable ИМЯ.service; это отменяет автозапуск, но не завершает уже работающий процесс. Если причина в зависимостях, верните исходное состояние и займитесь конкретной ошибкой.
#Команды из инструкции с пояснениями
systemctl status ИМЯ.service --no-pagersystemctl is-enabled ИМЯ.servicesystemctl cat ИМЯ.servicejournalctl -u ИМЯ.service -b --no-pager#Как проверить результат
После штатной перезагрузки сервис запускается по назначенному механизму и выполняет полезную функцию, в журнале нет ошибки старта.
#Если проблема не устранена
Если is-enabled=enabled, но статус failed, скопируйте строки journalctl -u ... -b и сопоставьте условие запуска с фактическим порядком активации. Не меняйте глобальный default target без необходимости.