Ошибки

Unit … .service not found: systemctl не находит службу

systemd не знает службы с таким именем. Проверьте имя: в нём может быть опечатка, или в вашей системе служба называется иначе. Ниже — как найти точное имя и что делать, если службы нет.

Обновлено 10.10.2026≈ 3 мин чтения
Содержание 7

Как выглядит ошибка

На команду sudo systemctl start myapp (или restart, stop) systemctl отвечает:

Failed to start myapp.service: Unit myapp.service not found.

На systemctl status myapp — так:

Unit myapp.service could not be found.

А systemctl enable пишет, что unit does not exist — файла службы нет. В примерах служба называется myapp — подставьте имя своей: nginx, mysql, php8.3-fpm и так далее.

Слово unit — «единица» — так systemd называет всё, чем управляет. Служба — один из видов unit, поэтому к имени добавляется .service. Писать его в командах не нужно: systemctl допишет сам.

Причина 1. Опечатка или другое имя

Имя службы может отличаться от названия программы. Примеры для Ubuntu:

ПрограммаИмя службы
nginxnginx
Apacheapache2, а не httpd
MySQLmysql
MariaDBmariadb
PHP-FPMс номером версии: php8.3-fpm в Ubuntu 24.04
SSHssh
Dockerdocker

Команды на этой странице вводятся на сервере: подключитесь к нему по SSH (как подключиться) и набирайте их в том же окне. Найти точное имя поможет список всех служб с фильтром по части названия. Например, для PHP:

systemctl list-unit-files --type=service | grep -i php

В ответе будет строка вроде php8.3-fpm.service enabled enabled — первое слово и есть имя службы. Вместо php подставьте часть названия своей программы.

Причина 2. Программа не установлена

Если в списке ничего нет, программа не установлена, и службы у неё нет. Установите её через apt, например nginx:

sudo apt install nginx

Пакет nginx сам создаст службу и запустит её. Если apt отвечает Unable to locate package, посмотрите разбор apt не находит пакет.

Причина 3. Вы создали службу сами

Если файл службы вы написали сами, проверьте три вещи.

  1. Файл лежит в папке /etc/systemd/system/. Своим службам место там.
  2. Имя файла заканчивается на .service: myapp.service, а не myapp или myapp.service.txt.
  3. После создания или правки файла systemd перечитал настройки: sudo systemctl daemon-reload.

Проверить, на месте ли файл:

ls -l /etc/systemd/system/myapp.service

Если ответ No such file or directory — файла нет или имя другое. Затем выполните:

sudo systemctl daemon-reload
sudo systemctl start myapp

Как проверить

sudo systemctl status myapp

Строка Loaded: должна показывать путь к файлу службы, а Active: — active (running). Если служба есть, но не запускается, переходите к странице Job for … failed. Чтобы вернуться к вводу команд после systemctl status, нажмите клавишу Q.

Тексты сообщений сверены с исходным кодом systemd 255 — эта версия стоит в Ubuntu 24.04. В других версиях systemd слова могут немного отличаться.

Источники

Сверено 10 октября 2026 года.

Что почитать дальше

Проверено и обновлено: 10.10.2026