Назад | Перейти на главную страницу

systemctl не распознает мою службу: Default-Start не содержит уровней запуска, прерывание

Я хочу определить простую службу, которая будет запускаться при загрузке, находясь на сервере Ubuntu 16.10. Итак, я создал /etc/init.d/mydaemon

Я как-то перепутал выскочку и systemd: сначала подумал, что нужно настроить выскочку. Поэтому после преобразования моего файла в синтаксис выскочки я запустил update-rc.d mydaemon defaults.

Я понял свою ошибку и побежал update-rc.d mydaemon remove, преобразовал в синтаксис systemd и запустил systemctl enable mydaemon, но получаю ошибку:

mydaemon.service is not a native service, redirecting to systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable mydaemon
update-rc.d: error: mydaemonDefault-Start contains no runlevels, aborting.

У меня была такая же ошибка при переносе sysv-скрипта из окна redhat в ubuntu. Мне нужно было добавить несколько заголовков в скрипт

### BEGIN INIT INFO
# Provides:          my-service-name
# Required-Start:    $all
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:
# Short-Description: your description here
### END INIT INFO

нашел в https://askubuntu.com/questions/909523/default-start-contains-no-runlevels-aborting

Проблема заключалась в расположении файла, на сервере Ubuntu он ожидает его в /etc/systemd/system, /etc/init.d/ для устаревших файлов.

Просто чтобы добавить к ответу @CharlesB - когда я вошел в это состояние, я смог просто переместить файл из /etc/init.d/ к /etc/systemd/system/ и повторно запустите команду, и она сработала правильно:

sudo mv /etc/init.d/mydaemon /etc/systemd/system/
sudo systemctl enable mydaemon

У меня была такая же ошибка, и я исправил ее, указав стартовую информацию по умолчанию, как показано ниже:

vi /etc/init.d/greenbone-security-assistant

Меняться от:

# Default-Start:

кому:

# Default-Start: 2 3 4 5

: wq

root @ kali: /etc/init.d# systemctl включить помощник по безопасности greenbone

Синхронизация состояния greenbone-security-assistant.service с сервисным скриптом SysV с помощью / lib / systemd / systemd-sysv-install.

Выполнение: / lib / systemd / systemd-sysv-install включить greenbone-security-assistant