SystemdDoctor
служба не работает коды выхода конфигурация

status=6/NOTCONFIGURED

Код 6 означает «установлено, но не настроено»: программа нашла себя, но не нашла настроек, без которых работать не может. На практике его возвращают скрипты и обёртки дистрибутивов, а не сами демоны, поэтому встречается он реже соседних кодов и почти всегда указывает на недоделанную установку.

Что это значит

Соглашение LSB задаёт для служб небольшой набор кодов: 1 — общая ошибка, 2 — неверный аргумент, 3 — не реализовано, 4 — недостаточно прав, 5 — не установлено, 6 — не настроено, 7 — не работает. Код 6 занимает место между «программы нет» и «настройки неверны»: программа есть, но обязательных настроек не существует вовсе.

Разница с соседями важна при разборе. Код 5 означает, что нет самой программы или её пакета. Код 78 из набора BSD означает ошибку в существующих настройках. Код 6 — что настроек не создано: файл отсутствует, пример не переименован, обязательное значение не заполнено. Проверить, как ваша версия systemd называет число, можно командой просмотра кодов выхода.

Вероятные причины

По порядку: сверху то, что встречается чаще.

  1. Файл настроек не создан из примера

    Пакеты часто кладут файл с расширением примера и не создают рабочий. Обёртка проверяет наличие рабочего файла и возвращает 6.

  2. Обязательное значение не заполнено

    Файл есть, но ключевое значение осталось заглушкой. Проверка настроек при запуске отвергает такую конфигурацию.

  3. Обёртка дистрибутива не нашла включённого экземпляра

    В дистрибутивах с несколькими экземплярами службы обёртка проверяет, объявлен ли хотя бы один. Без объявления она возвращает код 6, хотя сама программа исправна.

Диагностика

Команды идут в том порядке, в котором их стоит выполнять: каждая следующая проверяет то, что осталось после предыдущей.

Имя и класс кода в том виде, в каком его понимает ваша версия systemd.

systemd-analyze exit-status 6

Сообщение программы: без него код 6 не отличить от прочих.

journalctl -u myapp.service -n 40 --no-pager

Что именно запускается: часто это обёртка, а не сама программа.

systemctl cat myapp.service

Решение

Решение своё для каждой причины. Сначала определите, какая из них ваша, — иначе правки наложатся друг на друга.

1. Файл настроек не создан из примера
Почему происходит
Пакеты часто кладут файл с расширением примера и не создают рабочий. Обёртка проверяет наличие рабочего файла и возвращает 6.
Как проверить
Посмотрите каталог настроек и что именно ищет программа.
journalctl -u myapp.service -n 30 --no-pager
sudo ls -l /etc/myapp/ 2>/dev/null
Как исправить
Создайте рабочий файл настроек из примера и заполните обязательные значения. Копировать пример без правки обычно недостаточно: в нём остаются заглушки.
2. Обязательное значение не заполнено
Почему происходит
Файл есть, но ключевое значение осталось заглушкой. Проверка настроек при запуске отвергает такую конфигурацию.
Как проверить
Посмотрите сообщение программы и поищите заглушки в файле.
journalctl -u myapp.service -n 30 --no-pager | tail -15
sudo grep -nE "CHANGEME|changeme|<.*>|TODO" /etc/myapp/*.conf 2>/dev/null
Как исправить
Заполните обязательные значения. Полезно, чтобы служба сообщала, какого именно значения не хватает: молчаливый выход с кодом 6 разбирать дольше.
3. Обёртка дистрибутива не нашла включённого экземпляра
Почему происходит
В дистрибутивах с несколькими экземплярами службы обёртка проверяет, объявлен ли хотя бы один. Без объявления она возвращает код 6, хотя сама программа исправна.
Как проверить
Посмотрите, какая команда стоит в unit-файле и что она проверяет.
systemctl cat myapp.service | grep -E "^Exec"
sudo ls -l /etc/myapp/conf.d/ 2>/dev/null
Как исправить
Объявите экземпляр так, как ожидает обёртка, либо запускайте программу напрямую, минуя её. Обёртки удобны, но прячут причину отказа за одним числом.

Пример вывода

Обёртка не нашла рабочего файла настроек. Пример показательный: он собран на тестовой машине специально для этой страницы, а не взят из чужого журнала.

× myapp.service - My application
     Active: failed (Result: exit-code) since Mon 2026-09-15 17:02:11 MSK; 3s ago
    Process: 4600 ExecStart=/usr/sbin/myapp-wrapper start (code=exited, status=6/NOTCONFIGURED)

myapp-wrapper[4600]: /etc/myapp/myapp.conf not found, copy myapp.conf.example and edit it
systemd[1]: myapp.service: Main process exited, code=exited, status=6/NOTCONFIGURED
systemd[1]: myapp.service: Failed with result 'exit-code'.

Связанные ошибки

Источники

  • systemd.service(5)
    Коды выхода LSB и их обработка в systemd.
    официальная документация, systemd 255
    сверено 15 сентября 2026
  • LSB: коды выхода init-скриптов документация программы
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
    Проверено на systemd 255: `systemd-analyze exit-status 6` даёт NOTCONFIGURED, класс LSB.
    собственная проверка, systemd 255
    сверено 15 сентября 2026