systemctl non riconosce il mio servizio: Default-Start non contiene runlevel, interrompendo


14

Voglio definire un servizio semplice da avviare all'avvio, trovandosi sul server Ubuntu 16.10. Quindi ho creato un/etc/init.d/mydaemon

In qualche modo ho incasinato tra upstart e systemd: all'inizio pensavo di dover installare un servizio upstart. Quindi, dopo aver convertito il mio file in una sintassi iniziale, ho corso update-rc.d mydaemon defaults.

Ho capito il mio errore ed ho eseguito update-rc.d mydaemon remove, convertito in sintassi systemd ed eseguito systemctl enable mydaemon, ma ho ricevuto l'errore:

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.

Risposte:


15

Ho avuto lo stesso errore durante il porting di uno script sysv da una casella redhat a Ubuntu. Avevo bisogno di aggiungere alcune intestazioni alla sceneggiatura

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

disponibile in /ubuntu/909523/default-start-contains-no-runlevels-aborting



1
La mia sceneggiatura ha già questo lettore ma mostra ancora esattamente lo stesso errore. = [
Luciano Andress Martini,

mi ha salvato la giornata :-)
Mille

11

Il problema era che la posizione del file, sul server Ubuntu in cui si aspetta /etc/systemd/system, /etc/init.d/è per i file legacy.


questa soluzione ha risolto il mio servizio
AmirHossein Rezaei il

Penso che questa soluzione non funzioni se lo script init è uno script bash. Invece di copiare il file, i parametri sui livelli di esecuzione devono essere aggiunti come commenti come nick fox ha pubblicato nella loro risposta.
LaTechneuse,

Certo, la domanda iniziale è su un .servicefile, non su uno script bash init.
CharlesB

7

Giusto per aggiungere alla risposta da @CharlesB - quando sono arrivato in questo stato sono stato in grado di spostare semplicemente il file da /etc/init.d/a /etc/systemd/system/ed eseguire di nuovo il comando e ha funzionato correttamente:

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

1
Questo dovrebbe essere un commento.
Gerald Schneider,

Penso che sia una risposta più facile da seguire, quindi ce l'ho fatta.
Cory,

0

Ho avuto lo stesso errore e l'ho risolto inserendo le informazioni di avvio predefinite, come segue:

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

Cambiare da:

# Default-Start:

per:

# Default-Start: 2 3 4 5

: wq

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

Sincronizzazione dello stato di greenbone-security-assistant.service con lo script del servizio SysV con / lib / systemd / systemd-sysv-install.

In esecuzione: / lib / systemd / systemd-sysv-install abilita greenbone-security-assistant

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.