Supprimez des services du démarrage

9

J'ai mysql installé (à 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 j'ai tout supprimé après 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 (en essayant n'importe quoi à ce stade):

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

Ceci est mon script de démarrage:

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

Ceci est 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 les services peuvent être empêchés de démarrer au démarrage. Existe-t-il un meilleur moyen de le faire ou ai-je commis une erreur dans le script de démarrage?

UPDATE : J'ai déplacé le fichier conf de sauvegarde de / etc / init et j'ai redémarré en pensant qu'il y avait peut-être un conflit mais que upstart dit toujours Unknown job: mysql

    
posée xst 04.08.2012 - 06:35
la source

2 réponses

17

Si vous êtes sur Ubuntu 11.04 ou version ultérieure, vous pouvez utiliser les mots-clés manual et .override dans / etc / init pour désactiver le démarrage automatique:

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

manual supprime efficacement la strophe start on de la configuration du travail.

Si vous êtes sur Ubuntu 10.04, vous pouvez le faire:

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

Le dernier start on dans le fichier remplacera les précédents, donc cela devrait fonctionner, bien qu’il suppose qu’aucun événement ne s’appelle never .

    
réponse donnée SpamapS 05.08.2012 - 16:35
la source
0

De cet article : La section "start on" doit être complète et correcte en syntaxe.

start on runlevel [!0123456]

Cette ligne signifie qu’elle est exécutée 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 chkconfig selon this post.

    
réponse donnée xst 05.08.2012 - 02:57
la source

Lire d'autres questions sur les étiquettes