SystemdDoctor
служба не работает lsb настройка пакеты

status=5/NOTINSTALLED и status=6/NOTCONFIGURED в systemd

Коды 5 и 6 приходят от init-скриптов и служб, следующих соглашению LSB: 5 — «программа не установлена», 6 — «программа не настроена». Их возвращает не systemd, а сама служба, обычно на этапе собственных проверок перед запуском.

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

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

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

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

  1. Пакет удалён или не установлен полностью

    Unit-файл остался от прежней установки, а самой программы уже нет. Частая картина после удаления пакета без очистки или после неудачного обновления.

  2. Нет обязательного файла настроек

    Для кода 6 типично отсутствие файла в /etc: скрипт запуска проверяет его наличие и завершается, не запуская службу. Так поступают многие пакеты после установки, пока настройка не заполнена.

  3. Служба отключена собственным флагом

    Некоторые пакеты требуют явного разрешения запуска: строка вида ENABLED=no в /etc/default. Скрипт видит её и выходит с кодом 6.

Диагностика

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

Такие коды почти всегда сопровождаются понятным сообщением скрипта.

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

Показывает, не запускается ли служба через обёртку или init-скрипт: это объясняет происхождение кода.

systemctl cat myapp.service

Решение

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

1. Пакет удалён или не установлен полностью
Почему происходит
Unit-файл остался от прежней установки, а самой программы уже нет. Частая картина после удаления пакета без очистки или после неудачного обновления.
Как проверить
Проверьте наличие программы и состояние пакета.
command -v myapp || echo "не найдено"
dpkg -l | grep -i myapp || rpm -qa | grep -i myapp
Как исправить
Поставьте пакет заново или уберите оставшийся unit-файл и ссылку автозапуска.
sudo systemctl disable --now myapp.service
2. Нет обязательного файла настроек
Почему происходит
Для кода 6 типично отсутствие файла в /etc: скрипт запуска проверяет его наличие и завершается, не запуская службу. Так поступают многие пакеты после установки, пока настройка не заполнена.
Как проверить
Поищите файл настроек и подсказку в журнале.
journalctl -u myapp.service -n 30 --no-pager
ls -l /etc/default/myapp /etc/myapp/ 2>/dev/null
Как исправить
Создайте файл настроек по образцу из пакета. Часто рядом лежит файл с суффиксом .example или .dpkg-dist.
3. Служба отключена собственным флагом
Почему происходит
Некоторые пакеты требуют явного разрешения запуска: строка вида ENABLED=no в /etc/default. Скрипт видит её и выходит с кодом 6.
Как проверить
Посмотрите файл в /etc/default.
sudo grep -riE "enabled|start" /etc/default/myapp 2>/dev/null
Как исправить
Переключите флаг на разрешение и запустите службу снова.

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

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

× myapp.service - My application
     Active: failed (Result: exit-code) since Mon 2026-09-15 12:01:19 MSK; 1s ago
    Process: 9600 ExecStart=/usr/sbin/myapp-wrapper start (code=exited, status=6/NOTCONFIGURED)

myapp-wrapper[9600]: /etc/myapp/config.yml not found, refusing to start
systemd[1]: myapp.service: Main process exited, code=exited, status=6/NOTCONFIGURED

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

  • status=203/EXEC в systemd Код 203/EXEC означает, что systemd не смог выполнить программу из ExecStart=. Разбор причин: путь, права, интерпретатор, синтаксис оболочки.
  • status=7/NOTRUNNING в systemd Код 7/NOTRUNNING по соглашению LSB: программа не запущена. Обычно приходит от ExecStop или ExecReload, а не от запуска.
  • status=1/FAILURE в systemd Код 1/FAILURE означает, что программа запустилась и сама завершилась с ошибкой. Как найти настоящую причину в журнале службы.
  • status=3/NOTIMPLEMENTED в systemd Код 3/NOTIMPLEMENTED по соглашению LSB: запрошенное действие не поддерживается. Обычно это reload у службы, которая его не умеет.
  • status=4/NOPERMISSION в systemd Код 4/NOPERMISSION: программа сообщила о недостатке прав. По соглашению LSB это «у пользователя недостаточно привилегий».
  • Коды 64–78 в systemd: набор sysexits Коды 64-78 из sysexits.h: USAGE, DATAERR, NOINPUT, UNAVAILABLE, SOFTWARE, OSERR, CONFIG и другие. Что означает каждый и где смотреть причину.
  • Обновление не идёт: файл блокировки менеджера пакетов занят Установка отказывает: другой процесс держит блокировку. Чаще всего это служба автоматических обновлений.
  • Обновление пакета отложено: программа запущена Обновление не применяется: механизм пакетов ждёт закрытия работающей программы. Как это выглядит у служб.

Источники

  • systemd.exec(5)
    Класс LSB: код 5 — программа не установлена, код 6 — не настроена.
    официальная документация, systemd 255
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
    Воспроизведено на обёртке, проверяющей наличие файла настроек.
    собственная проверка, systemd 255
    сверено 15 сентября 2026