¿Cómo evito que Apache2 se inicie automáticamente en el arranque?

174

¿Cómo evito que Apache2 se inicie automáticamente en el arranque? Parece que no puedo encontrar una opción que desactive el inicio automático cuando enciendo la máquina.

niccolo m.
fuente
1
Quizás alguien puede ser más específico, pero puedo señalarle en la dirección correcta ... en / etc, hay directorios para rc * .d, que contienen todos los scripts de inicio / detención, llamados, creo, scripts de inicio. Verá enlaces a los scripts que se encuentran en /etc/init.d, y que comienzan con "k" o "s", para "kill" o "start", y un número que es el orden.
Marty Fried
Sí, conocía los directorios /etc/rcX.d, pero lo busqué para encontrar una herramienta mejor, que simplemente renombrar archivos manualmente (la vida es demasiado corta). update-rc.dha llenado este vacío
Tomasz Gandor

Respuestas:

161

Debajo de la carpeta /etc/init.d/encontrará todos los scripts de inicio para diferentes servicios de arranque, como apache2, redes, etc.

Dependiendo del nivel de ejecución en el que se inicia la computadora, se inician diferentes servicios. Entonces, desde la /etc/init.d/carpeta, cada "servicio" está vinculado a una / muchas / no carpetas de nivel de ejecución nombradas de rc0.da rc6.d.

Para simplificar las cosas, hay una herramienta para eliminar / agregar estos enlaces, por lo tanto, eliminar o agregar secuencias de comandos desde y hacia el inicio.

Para deshabilitar apache2 simplemente escriba:

sudo update-rc.d apache2 disable

Esto deshabilita apache2 en el inicio pero no se elimina, por lo que puede habilitarse nuevamente. Para eliminar los scripts de inicio de apache2, haga lo siguiente:

Para eliminar apache2 simplemente escriba:

sudo update-rc.d -f  apache2 remove

Al hacer esto, se eliminarán todas las carpetas de nivel de ejecución que están vinculadas a apache2.

tomodachi
fuente
2
chkconfig también puede ayudar - "chkconfig {service_name} off"
MCR
Ya no funciona: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, ¿puede especificar las versiones con las que estaba trabajando? Esta respuesta funciona para Apache 2 en Ubuntu 14.04.3
Dale Anderson el
1
¿Cómo restaurar el servicio?
Eugen Konkov
99
¡Advertencia! Esto eliminará el servicio! Utilizar sudo update-rc.d apache2 disable.
Eduardo Cuomo el
195

simplemente puede deshabilitarlo:

sudo update-rc.d apache2 disable

y luego, si desea habilitarlo nuevamente:

sudo update-rc.d apache2 enable

dependiendo del proyecto en el que estoy trabajando, es útil tener el servicio convenientemente disponible, si deseo volver a habilitarlo.

gsullins
fuente
44
enableme dio un error como runlevel arguments (none) do not match LSB Default-Start values, pero sudo update-rc.d apache2 defaultsparece haberlo vuelto a habilitar correctamente.
aquí el
2
@here sudo update-rc.d apache2 enablejugó como se esperaba para mí
Georgios Pligoropoulos
1
En Ubuntu Trusty me dice "La API de desactivación | activación no es estable y podría cambiar en el futuro".
Tanner
1
No funciona - error: no runlevel symlinks to modify, aborting!. Sin embargo, apache2 se está ejecutando y se inicia automáticamente.
Daniel Kmak
Ya no funciona:update-rc.d: error: no runlevel symlinks to modify, aborting!
TomDogg
55

Con systemdahora podemos usar systemctlcomandos para evitar que un servicio se inicie automáticamente en el arranque.

Aquí hay un ejemplo:

sudo systemctl disable apache2

Aún podrá iniciar y detener el servicio, pero no se iniciará en el arranque.

mchid
fuente
2
Linux Mint todavía se basa en Ubuntu 14.04. Ubuntu comienza a usar systemd desde 15.04 en adelante.
twan163
1
@dragonmnl como twan163 dijo, systemd es para las versiones más nuevas (debian jessie o equivalente +)
mchid
1
esto funcionó muy bien en Debian
Anupam
1
la respuesta correcta para debian 9+
John
1
Si se encuentra update-rc.d: error: no runlevel symlinks to modify, aborting!, vuelva a crear los enlaces que faltan debajo; luego vuelva a intentarlo: /etc/rc0.d/K01 <service> /etc/rc1.d/K01 <service> /etc/rc2.d/S99 <service> /etc/rc3.d/S99 <service> / etc / rc4.d / S99 <servicio> /etc/rc5.d/S99 <servicio> /etc/rc6.d/K01 <servicio>
Amil Waduwawara
5

Pensé que simplemente agregaría a las respuestas de @gsullins y @tomodachi, para futuros lectores que usaron la respuesta aceptada.

Si ya has usado:

sudo update-rc.d apache2 remove

Puede usar el argumento defaultspara agregar apache2 nuevamente en el inicio automático

sudo update-rc.d apache2 defaults

Entonces puedes habilitar / deshabilitar

sudo update-rc.d apache2 disable
sudo update-rc.d apache2 enable
Ben Winding
fuente