Eliminar servicios del advenedizo

9

Tengo instalado mysql (desde repositorios) en una máquina de desarrollo (computadora portátil) y no necesito que se ejecute el demonio en cada arranque. Copié /etc/init/mysql.conf en /etc/init/mysql.conf.old y luego eliminé todo siguiendo la línea "inicio en". Sin embargo, al reiniciar, ya no puedo iniciar mysqld a través del arranque:

$ sudo service mysql start
start: Unknown job: mysql

Esto también falla (intentando algo en este momento):

$ sudo service mysql restart
stop: Unknown job: mysql
start: Unknown job: mysql

Este es mi script de inicio:

# /etc/init/mysql.conf
....
start on
stop on starting rc RUNLEVEL=[016]

Este es el guión predeterminado:

# /etc/init/mysql.conf.old
....
start on runlevel [2345]
stop on starting rc RUNLEVEL=[016]

Todo lo que he leído hasta ahora sugiere que así es como se puede evitar que los servicios se inicien en el momento del arranque. ¿Hay una mejor manera de hacer esto o cometí un error en el script inicial?

ACTUALIZACIÓN : moví el archivo de configuración de copia de seguridad de / etc / init y lo reinicié pensando que tal vez hubo un conflicto, pero aún así diceUnknown job: mysql

xst
fuente
Verifique / var / log / syslog, probablemente le dirá que hay problemas de sintaxis en /etc/init/mysql.conf. También puede probar 'init-checkconf /etc/init/mysql.conf'
SpamapS

Respuestas:

17

Si está en Ubuntu 11.04 o posterior, puede usar la manualpalabra clave y los archivos .override en / etc / init para deshabilitar el inicio automático:

sudo sh -c 'echo manual >> /etc/init/mysql.override'

manualelimina efectivamente la start onestrofa de la configuración del trabajo.

Si estás en Ubuntu 10.04, puedes hacer esto:

sudo sh -c 'echo start on never >> /etc/init/mysql.conf'

El último start on en el archivo anulará los anteriores, por lo que esto debería funcionar, aunque se supone que no se llama a ningún evento never.

SpamapS
fuente
0

De esta publicación: La sección "inicio" debe ser completa y correcta en sintaxis.

start on runlevel [!0123456]

Esta línea significa ejecutar cuando el nivel de ejecución no está en [0,1,2,3,4,5,6] (esos son los únicos niveles de ejecución, por lo que nunca se ejecuta).

Otra opción es usar chkconfigsegún esta publicación.

xst
fuente