Come posso impedire l'avvio automatico di Apache2 all'avvio?


173

Come posso impedire l'avvio automatico di Apache2 all'avvio? Non riesco a trovare un'opzione che disabiliti l'avvio automatico quando accendo la macchina.


1
Forse qualcuno può essere più specifico, ma posso indicarti la giusta direzione ... in / etc, ci sono directory per rc * .d, che contengono tutti gli script start / stop, chiamati, penso, script di init. Vedrai i collegamenti agli script che si trovano in /etc/init.d e che iniziano con "k" o "s", per "kill" o "start" e un numero che è l'ordinamento.
Marty Fried

Sì, sapevo delle directory /etc/rcX.d, ma l'ho cercato per scoprire qualche strumento più bello, piuttosto che rinominare manualmente i file (la vita è troppo breve). update-rc.dha colmato questo vuoto.
Tomasz Gandor,

Risposte:


160

Sotto la cartella /etc/init.d/troverai tutti gli script init per diversi servizi di avvio, come apache2, networking, ecc.

A seconda del runlevel in cui viene avviato il computer, vengono avviati diversi servizi. Quindi dalla /etc/init.d/cartella ogni "servizio" è collegato a una / molte / nessuna cartella a livello di esecuzione denominata da rc0.da rc6.d.

Per semplificare le cose, esiste uno strumento per rimuovere / aggiungere questi collegamenti, quindi rimuovere o aggiungere script da e verso l'avvio.

Per disabilitare apache2 è sufficiente digitare:

sudo update-rc.d apache2 disable

Questo disabilita apache2 all'avvio ma non viene rimosso, quindi può essere nuovamente abilitato. Per rimuovere gli script di avvio di apache2, procedi come segue:

Per rimuovere apache2 è sufficiente digitare:

sudo update-rc.d -f  apache2 remove

In questo modo verranno rimosse tutte le cartelle runlevel collegate ad apache2.


2
chkconfig può anche aiutare - "chkconfig {service_name} off"
MCR

Non funziona più:The script you are attempting to invoke has been converted to an Upstart job, but lsb-header is not supported for Upstart jobs. (...)
TomDogg

2
@ TomDogg, puoi specificare le versioni con cui stavi lavorando? Questa risposta funziona per Apache 2 su Ubuntu 14.04.3
Dale Anderson,

1
Come ripristinare il servizio?
Eugen Konkov,

9
Avvertimento! Questo RIMUOVERÀ il servizio! Usa sudo update-rc.d apache2 disable.
Eduardo Cuomo,

194

potresti semplicemente disabilitarlo:

sudo update-rc.d apache2 disable

e quindi se si desidera abilitarlo di nuovo:

sudo update-rc.d apache2 enable

a seconda del progetto su cui sto lavorando, è utile avere il servizio convenientemente disponibile, se desidero riattivarlo.


4
enablemi ha dato un errore simile runlevel arguments (none) do not match LSB Default-Start values, ma sudo update-rc.d apache2 defaultssembra averlo riattivato correttamente.
qui

2
@qui ha sudo update-rc.d apache2 enablegiocato come previsto per me
Georgios Pligoropoulos,

1
Su Ubuntu Trusty mi dice "L'API disable | enable non è stabile e potrebbe cambiare in futuro".
Tanner,

1
Non funziona - error: no runlevel symlinks to modify, aborting!. Tuttavia, apache2 è in esecuzione e si avvia automaticamente.
Daniel Kmak,

Non funziona più:update-rc.d: error: no runlevel symlinks to modify, aborting!
TomDogg

55

Con systemdora possiamo usare i systemctlcomandi per impedire l'avvio automatico all'avvio di un servizio.

ecco un esempio:

sudo systemctl disable apache2

Sarai comunque in grado di avviare e interrompere il servizio ma non si avvierà all'avvio.


2
Linux Mint è ancora basato su Ubuntu 14.04. Ubuntu inizia a utilizzare systemd dal 15.04 in poi.
twan163,

1
@dragonmnl come diceva twan163, systemd è per le versioni più recenti (debian jessie o equivalente +)
mchid

1
questo ha funzionato benissimo su Debian
Anupam il

1
la risposta giusta per debian 9+
John

1
In caso di incontro update-rc.d: error: no runlevel symlinks to modify, aborting!, ricrea tutti i simlink sottostanti mancanti; quindi riprovare: /etc/rc0.d/K01 <service> /etc/rc1.d/K01 <service> /etc/rc2.d/S99 <service> /etc/rc3.d/S99 <service> / etc / rc4.d / S99 <service> /etc/rc5.d/S99 <service> /etc/rc6.d/K01 <service>
Amil Waduwawara,

5

Ho pensato di aggiungere solo le risposte di @gsullins e @tomodachi, per i futuri lettori che hanno utilizzato la risposta accettata.

Se hai già usato:

sudo update-rc.d apache2 remove

È possibile utilizzare l'argomento defaultsper aggiungere nuovamente apache2 all'avvio automatico

sudo update-rc.d apache2 defaults

Quindi puoi abilitare / disabilitare

sudo update-rc.d apache2 disable
sudo update-rc.d apache2 enable
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.