Видаліть служби від запуску


9

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

$ 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.