2014-10-08 6 views
21

Da quello che ho capito, la directory /etc/init.d contiene gli script eseguiti da init al momento dell'avvio. È valido solo per Debian o anche per Ubuntu 14.04?ubuntu 14.04 /etc/init.d/ vs/etc/init/start servizio all'avvio

Mi chiedo perché ho diversi script nella directory init.d ma non sembrano essere eseguiti all'avvio del server. Esiste un registro da verificare?

Per esempio, quando ho installato supervisor (apt-get install supervisor), ha creato uno script di init in /etc/init.d/supervisor che dovrebbe iniziare, ma quando comincio il mio server, supervisore non viene eseguito. Ho alcuni altri esempi quindi non sembra essere correlato solo allo script supervisore.

Inoltre, qual è la differenza tra /etc/init.d e etc/init? Sono confuso.

Grazie

+0

Hai scoperto come avviare automaticamente il supervisore? – DmitryR

+0

C'è una risposta molto precisa, accurata e approfondita qui: http://askubuntu.com/questions/5039/what-is-the-difference-between-etc-init-and-etc-init-d – phazei

risposta

26

Gli script in /etc/init.d/ sono script che controllano i servizi. Controllare significa che si occupano di iniziare, fermarsi e azioni simili.

Sono non automaticamente eseguiti all'avvio. Invece, è necessario assegnare script a runlevels, operazione eseguita con il comando update-rc.d su sistemi basati su Debian (che è Ubuntu).

Ad esempio, per aggiungere il vostro servizio supervisore per tutti i runlevel predefiniti, si eseguirà

sudo update-rc.d supervisor defaults 

Inoltre, si sta chiedendo per la differenza tra /etc/init.d e /etc/init:

  • /etc/init.d contiene il script di servizio,
  • /etc/init contiene la configurazione per questi script (descrizioni, dipendenze, post-/azioni preliminari). Tuttavia IIRC, /etc/init è specifico per SysV init.
+1

oh ok, I Allora ho frainteso lo scopo degli script di init. Quando ho letto la documentazione del supervisore, sembrava che usare uno script init potesse far funzionare automaticamente supervisord all'avvio: http://supervisord.org/running.html#running-supervisord-automatically-on-startup Ho provato il '' ' sudo update-rc.d''', ma ottengo questo messaggio '' 'I link di avvio/arresto del sistema per /etc/init.d/supervisor esistono già .''. Perché non funziona? – Michael

+0

Inoltre, ho fatto più ricerche e ho scoperto che guardando '' 'service --status-all''', posso vedere i servizi che sono avviati all'avvio del SO (quelli con un segno" + "davanti a loro) e il supervisore non lo è dato che ha un segno "-". :/ – Michael

+0

Ok, è un po 'strano. Potresti fare quanto segue: Creare un nuovo post (e forse meglio su [Unix/Linux SE] (http://unix.stackexchange.com/)) descrivere quel fenomeno lì. Perché sarebbe più facile discuterne in un nuovo post, ed è probabile che attiri più lettori. – lxg