Forma recomendada de deshabilitar un servicio en Debian

10

¿Existe una "forma recomendada" para deshabilitar un servicio en Debian? (Desactivar = El servicio está instalado pero no se iniciará automáticamente cuando la máquina se inicie).

Sé que puedes update-rc.d -f service remove(lo que básicamente elimina los enlaces rcX.d), pero al hacerlo pierdes el número de secuencia del servicio ( SXXservicesiendo XX el número de secuencia), lo que dificulta la vida cuando quieres volver a habilitar el servicio. También sé que puedo cambiar el nombre de los enlaces rcX.dpara que no comiencen S(o moverlos a otro lugar), pero me preguntaba si hay alguna forma de "práctica recomendada aprobada por Debian" para hacer esto.

Heinzi
fuente

Respuestas:

12

Eche un vistazo a la página de comando man update-rc.d. El tercer párrafo de la sección llamada Instalación de enlaces de script de inicio dice ...

Un error común de administración del sistema es eliminar los enlaces con la idea de que esto "deshabilitará" el servicio, es decir, que evitará que se inicie el servicio. Sin embargo, si se han eliminado todos los enlaces, la próxima vez que se actualice el paquete, la secuencia de comandos postinst del paquete volverá a ejecutar update-rc.d y esto reinstalará los enlaces en sus ubicaciones predeterminadas de fábrica. La forma correcta de deshabilitar los servicios es configurar el servicio como detenido en todos los niveles de ejecución en los que se inicia de manera predeterminada. En el sistema de inicio System V esto significa renombrar los enlaces simbólicos del servicio de S a K.

Las dos últimas oraciones deberían responder a su pregunta. :-)

Condenar
fuente
por ejemplo:sudo update-rc.d postgresql disable
Lluís
5

Puede probar la utilidad "sysv-rc-conf" para hacer su vida un poco más fácil. Es más una herramienta chkconfig de otro sistema.

Simplemente escriba en la solicitud:

sudo apt-get install sysv-rc-conf

¡Salud!

unixbhaskar
fuente
Buena herramienta, gracias. Veo que también deshabilita correctamente los servicios (es decir, al cambiar el nombre del enlace simbólico a K ...).
Heinzi
2

En realidad, sysv-rc-confes el enfoque recomendado incluso por la página de manual update-rc.d:

Tenga en cuenta que este programa fue diseñado para su uso en scripts de mantenimiento de paquetes y, en consecuencia, solo tiene la funcionalidad muy limitada requerida por dichos scripts. No se alienta a los administradores del sistema a usar update-rc.d para administrar los niveles de ejecución. Deben editar los enlaces directamente o utilizar editores de nivel de ejecución como sysv-rc-conf y bum en su lugar.

lubomir.brindza
fuente
0

Según lo entendí, la "mejor práctica de Debian" es desinstalar el paquete . No debería tener paquetes instalados si no los está utilizando. Es por eso que todos los paquetes de Debian están configurados para comenzar en la instalación.

(Esos pocos paquetes que podrían ser útiles para tener instalados sin ejecutarse usualmente tienen una configuración en sus /etc/default/<packagename>archivos de configuración para deshabilitar el inicio).

Osito de peluche
fuente
2
tu no entiendes. "no comenzar automáticamente en el arranque" no implica "no usar el paquete en absoluto". Como ejemplo simplista, es posible que desee que xinetd inicie mi servidor SSH según sea necesario, en lugar de iniciar como demonio en el arranque.
quack quijote