Удалить услуги из выскочки


9

У меня установлен mysql (из репозитория) на компьютере разработчика (ноутбуке), и мне не нужен демон, работающий при каждой загрузке. Я скопировал /etc/init/mysql.conf в /etc/init/mysql.conf.old, а затем удалил все после строки «start on». Однако после перезагрузки я больше не могу запустить mysqld через upstart:

$ sudo service mysql start
start: Unknown job: mysql

Это также терпит неудачу (пробуя что-либо в этом пункте):

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

Это мой сценарий выскочки:

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

Это скрипт по умолчанию:

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

Все, что я читал до сих пор, говорит о том, что таким образом можно предотвратить запуск служб во время загрузки. Есть ли лучший способ сделать это, или я сделал ошибку в сценарии выскочка?

ОБНОВЛЕНИЕ : я переместил файл резервной копии файла конфигурации из / etc / init и перезагрузил компьютер, думая, что, возможно, был конфликт, но выскочка все еще говоритUnknown job: mysql


Проверьте / var / log / syslog, он, вероятно, сообщит вам о синтаксических проблемах в /etc/init/mysql.conf. Вы также можете попробовать 'init-checkconf /etc/init/mysql.conf'
SpamapS

Ответы:


17

Если вы используете Ubuntu 11.04 или новее, вы можете использовать manualключевое слово и файлы .override в / etc / init, чтобы отключить автоматический запуск:

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

manualэффективно удаляет start onраздел из конфигурации задания.

Если вы используете Ubuntu 10.04, вы можете сделать это:

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

Последний start on в файле будет переопределять предыдущие, так что это должно работать, хотя он предполагает , что нет событий называется never.


0

Из этого поста: раздел «начать с» должен быть полным и правильным в синтаксисе.

start on runlevel [!0123456]

Эта строка означает выполнение, когда уровень выполнения не находится в [0,1,2,3,4,5,6] (это единственные уровни выполнения, поэтому он никогда не запускается).

Другой вариант использует chkconfigсогласно этому посту.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.