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

xst
la source
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.

SpamapS
la source
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.

xst
la source