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


13

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 couru update-rc.d mydaemon defaults.

J'ai compris mon erreur et j'ai couru update-rc.d mydaemon remove, converti en syntaxe systemd et j'ai couru 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.

Réponses:


14

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 /ubuntu/909523/default-start-contains-no-runlevels-aborting



1
Mon script a déjà ce lecteur mais affiche toujours exactement la même erreur .. = [
Luciano Andress Martini

sauvé ma journée :-) Merci beaucoup
Aravinthan K

11

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


cette solution a corrigé mon service
AmirHossein Rezaei

Je pense que cette solution ne fonctionne pas si le script init est un script bash. Au lieu de copier le fichier, les paramètres sur les niveaux d'exécution doivent être ajoutés en tant que commentaires que nick fox a posté dans leur réponse.
LaTechneuse

Bien sûr, la question initiale est sur un .servicefichier, pas sur un script d'init bash.
CharlesB

7

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

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

1
Cela devrait être un commentaire.
Gerald Schneider

Je pense que c'est une réponse plus facile à suivre, alors faites-en une.
Cory

0

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

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.