Unit … .service not found: systemctl не находит службу
systemd не знает службы с таким именем. Проверьте имя: в нём может быть опечатка, или в вашей системе служба называется иначе. Ниже — как найти точное имя и что делать, если службы нет.
Содержание 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:
| Программа | Имя службы |
|---|---|
| nginx | nginx |
| Apache | apache2, а не httpd |
| MySQL | mysql |
| MariaDB | mariadb |
| PHP-FPM | с номером версии: php8.3-fpm в Ubuntu 24.04 |
| SSH | ssh |
| Docker | docker |
Команды на этой странице вводятся на сервере: подключитесь к нему по 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. Вы создали службу сами
Если файл службы вы написали сами, проверьте три вещи.
- Файл лежит в папке
/etc/systemd/system/. Своим службам место там. - Имя файла заканчивается на
.service:myapp.service, а неmyappилиmyapp.service.txt. - После создания или правки файла 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 слова могут немного отличаться.
Источники
- Исходный код systemd 255: systemctl-start-unit.c — текст Failed to start ….
- Исходный код systemd 255: dbus-unit.c — тексты Unit … not found и Unit … is masked.
- Исходный код systemd 255: systemctl-show.c — строки Loaded и Active в выводе systemctl status.
- Исходный код systemd 255: install.c — текст ошибки systemctl enable.
- Справка systemctl(1) в Ubuntu 24.04 — команды reset-failed, daemon-reload, unmask.
- Справка systemd.unit(5) в Ubuntu 24.04 — где лежат файлы служб, StartLimitBurst.
Сверено 10 октября 2026 года.
Что почитать дальше
Проверено и обновлено: 10.10.2026