web-dev-qa-db-fra.com

systemctl ne reconnaît pas mon service: Default-Start ne contient aucun niveau d'exécution, abandon

Je veux définir un service simple à démarrer au démarrage, étant sur le serveur Ubuntu 16.10. J'ai donc créé un /etc/init.d/mydaemon

J'ai en quelque sorte gâché entre upstart et systemd: au début, je pensais que je devais configurer un service upstart. Donc, après avoir converti mon fichier en une syntaxe parvenue, j'ai exécuté update-rc.d mydaemon defaults.

J'ai compris mon erreur et j'ai exécuté update-rc.d mydaemon remove, converti en syntaxe systemd et exécuté systemctl enable mydaemon, mais obtenez l'erreur:

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.
12
CharlesB

Le problème était l'emplacement du fichier, sur le serveur Ubuntu, il l'attend dans /etc/systemd/system, /etc/init.d/ est destiné aux fichiers hérités.

11
CharlesB

J'ai eu la même erreur lors du portage d'un script sysv d'une boîte redhat vers ubuntu. Je devais ajouter quelques en-têtes au script

### 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

trouvé dans https://askubuntu.com/questions/909523/default-start-contains-no-runlevels-aborting

13
nick fox

Juste pour ajouter à la réponse de @CharlesB - quand je suis entré dans cet état, j'ai pu simplement déplacer le fichier de /etc/init.d/ à /etc/systemd/system/ et réexécutez la commande et cela a fonctionné correctement:

Sudo mv /etc/init.d/mydaemon /etc/systemd/system/
Sudo systemctl enable mydaemon
7
Cory

J'ai eu la même erreur et je l'ai corrigée en mettant les informations de démarrage par défaut, comme suit:

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

Changer de:

# Default-Start:

à:

# Default-Start: 2 3 4 5

: wq

root @ kali: /etc/init.d# systemctl activer greenbone-security-assistant

Synchronisation de l'état de greenbone-security-assistant.service avec le script de service SysV avec/lib/systemd/systemd-sysv-install.

Exécution:/lib/systemd/systemd-sysv-install activer greenbone-security-assistant

0
Fernando Galves