Entfernen Sie die Dienste vom Start


9

Ich habe MySQL (von Repos) auf einem Entwicklungscomputer (Laptop) installiert und ich brauche den Daemon nicht bei jedem Start. Ich habe /etc/init/mysql.conf nach /etc/init/mysql.conf.old kopiert und dann alles nach der Zeile "Start on" entfernt. Beim Neustart kann ich mysqld jedoch nicht mehr über den Start starten:

$ sudo service mysql start
start: Unknown job: mysql

Dies schlägt auch fehl (versuchen Sie an dieser Stelle etwas):

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

Dies ist mein Startskript:

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

Dies ist das Standardskript:

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

Alles, was ich bisher gelesen habe, deutet darauf hin, dass auf diese Weise verhindert werden kann, dass Dienste beim Booten gestartet werden. Gibt es eine bessere Möglichkeit, dies zu tun, oder habe ich im Startskript einen Fehler gemacht?

UPDATE : Ich habe die Backup-Conf-Datei aus / etc / init verschoben und neu gestartet, weil ich dachte, dass möglicherweise ein Konflikt aufgetreten ist, aber der Emporkömmling sagt immer nochUnknown job: mysql


Überprüfen Sie / var / log / syslog, es wird Ihnen wahrscheinlich sagen, dass es Syntaxprobleme in /etc/init/mysql.conf gibt. Sie können auch 'init-checkconf /etc/init/mysql.conf'
SpamapS

Antworten:


17

Wenn Sie unter Ubuntu 11.04 oder höher arbeiten, können Sie das manualSchlüsselwort und die .override-Dateien in / etc / init verwenden, um den automatischen Start zu deaktivieren:

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

manualEntfernt effektiv die start onZeilengruppe aus der Konfiguration des Jobs.

Wenn Sie mit Ubuntu 10.04 arbeiten, können Sie Folgendes tun:

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

Der letzte start on in der Datei überschreibt alle vorherigen, daher sollte dies funktionieren, obwohl davon ausgegangen wird, dass kein Ereignis aufgerufen wird never.


0

Aus diesem Beitrag: Der Abschnitt "Start on" muss vollständig und in der Syntax korrekt sein.

start on runlevel [!0123456]

Diese Zeile bedeutet "Ausführen", wenn der Run-Level nicht in [0,1,2,3,4,5,6] liegt (dies sind die einzigen Runlevel, daher wird dieser niemals ausgeführt).

Eine andere Option ist die Verwendung chkconfiggemäß diesem Beitrag.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.