Supprimer les services de upstart


9

J'ai installé mysql (à partir de repos) sur une machine de développement (ordinateur portable) et je n'ai pas besoin que le démon s'exécute à chaque démarrage. J'ai copié /etc/init/mysql.conf dans /etc/init/mysql.conf.old, puis supprimé tout ce qui suit la ligne "start on". Cependant, au redémarrage, je ne peux plus démarrer mysqld via upstart:

$ sudo service mysql start
start: Unknown job: mysql

Cela échoue également (essayer quoi que ce soit à ce stade):

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

Voici mon script parvenu:

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

Voici le script par défaut:

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

Tout ce que j'ai lu jusqu'à présent suggère que c'est ainsi que les services peuvent être empêchés de démarrer au démarrage. Y a-t-il une meilleure façon de le faire ou ai-je fait une erreur dans le script parvenu?

MISE À JOUR : J'ai déplacé le fichier de configuration de sauvegarde hors de / etc / init et redémarré en pensant qu'il y avait peut-être un conflit, mais le début indique toujoursUnknown job: mysql


Vérifiez / var / log / syslog, il vous dira probablement qu'il y a des problèmes de syntaxe dans /etc/init/mysql.conf. Vous pouvez également essayer 'init-checkconf /etc/init/mysql.conf'
SpamapS

Réponses:


17

Si vous utilisez Ubuntu 11.04 ou une version ultérieure, vous pouvez utiliser le manualmot clé et les fichiers .override dans / etc / init pour désactiver le démarrage automatique:

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

manualsupprime efficacement la start onstrophe de la configuration du travail.

Si vous utilisez Ubuntu 10.04, vous pouvez le faire:

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

Le dernier start on du fichier remplacera tous les précédents, donc cela devrait fonctionner, même s'il suppose qu'aucun événement n'est appelé never.


0

De ce post: La section "start on" doit être complète et correcte dans la syntaxe.

start on runlevel [!0123456]

Cette ligne signifie exécuter lorsque le niveau d'exécution n'est pas dans [0,1,2,3,4,5,6] (ce sont les seuls niveaux d'exécution, donc ce n'est jamais exécuté).

Une autre option utilise chkconfigselon ce post.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.