Normalmente uso service start/stop
o initctl start/stop
para iniciar o detener un proceso de demonio, pero ahora lo que estoy buscando es desactivar un proceso de demonio para que no se inicie en el ejemplo de inicio mysqld
.
Actualmente lo que estoy haciendo es el cambio de nombre /etc/init/mysql.conf
a /etc/init/mysql.conf.bak
pero después de leer un poco sobre systemd
llegué a conocer que proporciona enable & disable
la opción para la tarea anterior.
Entonces, ¿hay algo similar en ubuntu 12.04 con upstart
.
systemctl [enable|disable|is-enabled] mysqld.service
Respuestas:
Puede deshabilitar los servicios ejecutando el siguiente comando:
Extracto de la página de manual:
fuente
La forma correcta de deshabilitar y reiniciar el servicio es crear un archivo XX.override,
echo 'manual' > /etc/init/mysqld.override
De esa forma, el servicio de inicio no se iniciará automáticamente
fuente
Ubuntu 12.04
?@RSK yes, why don't you just give it a try?
Supongo, porque es muy inconveniente reiniciar el sistema con "una prueba" a cada consejo de esta página.@ warl0ck tiene razón; quería agregar que esta información se documenta bastante bien en la documentación de Upstart: http://upstart.ubuntu.com/cookbook/#disabling-a-job-from-automatically-starting
Específicamente:
fuente
También hay una buena pieza de software para ayudar en esto. Se llama rcconf.
Simplemente descárguelo usando:
y úsalo con el comando
Obtiene una interfaz agradable (línea de comandos) para deshabilitar / habilitar servicios.
fuente
Intente navegar
/etc/rc2.d
y renombrar lo que no desea ejecutar al inicio: cambie la "S" (inicial, mayúscula) a una "K" (por ejemplo,S02mysql
aK02mysql
). Si cambia de opinión, simplemente inviértalo. Creo que el 2 se refiere al nivel de ejecución, en cuyo caso 2 es el nivel de ejecución multiusuario predeterminado. Probablemente ahí es donde tienes la mayoría de las cosas para el uso diario de la computadora.Editar : Lea el comentario de James O'Gorman a continuación.
fuente
who -r
orunlevel
.who --runlevel
.init
ejecutará 'KXXscript stop' al cerrar. Debe eliminar el enlace simbólico o eliminar el bit de ejecución del script de inicio real. Creo que Debian usaupdate-rc.d
para manejar esto. Uso de RHEL (y derivados)chkconfig
.Con Upstart, la configuración del servicio se encuentra en los archivos
/etc/init/
. Por ejemplo, ssh se controla mediante un archivo de configuración/etc/init/ssh.conf
Este archivo especifica los "eventos" que harán que Upstart inicie el "trabajo".
Para evitar que un servicio se inicie automáticamente, se puede usar uno de varios métodos:
a) Cambie el nombre del archivo service.conf para que no termine con .conf
b) Comente la línea "inicio en" del archivo service.conf.
En las versiones más recientes de upstart (desde v1.3 al menos) también puede anular el inicio en línea usando un archivo service.override, por lo que podría usar:
# echo manual > /etc/init/service.override
Por último, también puede agregar la palabra clave "manual" al final del archivo de configuración del servicio, por ejemplo, a través de:
# echo manual >> /etc/init/service.conf
Tenga en cuenta que esto no "detiene" el servicio en ejecución, solo evita que se inicie automáticamente. Mientras está configurado para el inicio "manual", controla el servicio usando initctl, por ejemplo, para detener e iniciar el demonio SSH:
# initctl stop ssh
# initctl start ssh
Podría decirse que la mejor documentación para Upstart está en http://upstart.ubuntu.com/cookbook/
La Sección 11.44 cubre "deshabilitar un servicio de inicio automático, aquí: http://upstart.ubuntu.com/cookbook/#disabling-a-job-from-automatically-starting
fuente
Bueno, debo decir que la declaración
es un poco engañoso porque significa agregar el archivo de anulación. Probé esto en 14.04 con el administrador de red y lo siguiente no funcionó
Sin embargo esto funcionó
Entonces, en mi opinión, initctl busca la primera línea no comentada y la ejecuta. Quizás estoy equivocado, pero esos fueron los resultados de mi prueba. Las entradas son bienvenidas.
fuente