Usuń usługi od początku

9

Mam zainstalowany mysql (z repozytoriów) na komputerze programistycznym (laptopie) i nie potrzebuję demona działającego przy każdym uruchomieniu. Skopiowałem /etc/init/mysql.conf do /etc/init/mysql.conf.old, a następnie usunąłem wszystko zgodnie z linią „start on”. Jednak po ponownym uruchomieniu nie mogę już uruchomić mysqld poprzez upstart:

$ sudo service mysql start
start: Unknown job: mysql

To również kończy się niepowodzeniem (próbowanie czegokolwiek w tym momencie):

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

To jest mój skrypt wstępny:

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

To jest domyślny skrypt:

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

Wszystko, co przeczytałem do tej pory, sugeruje, że w ten sposób można zapobiec uruchamianiu usług podczas uruchamiania. Czy istnieje lepszy sposób, aby to zrobić, czy też popełniłem błąd w skrypcie upstart?

AKTUALIZACJA : Usunąłem plik kopii zapasowej z / etc / init i zrestartowałem się, myśląc, że może był konflikt, ale upstart nadal mówiUnknown job: mysql

xst
źródło
Sprawdź / var / log / syslog, prawdopodobnie powie ci, że występują problemy ze składnią w /etc/init/mysql.conf. Możesz także spróbować „init-checkconf /etc/init/mysql.conf”
SpamapS,

Odpowiedzi:

17

Jeśli korzystasz z systemu Ubuntu 11.04 lub nowszego, możesz użyć manualsłowa kluczowego i plików .override w / etc / init, aby wyłączyć automatyczne uruchamianie:

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

manualskutecznie usuwa start onzwrotkę z konfiguracji zadania.

Jeśli korzystasz z systemu Ubuntu 10.04, możesz to zrobić:

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

Ostatni start on w pliku zastąpi żadnych poprzednich, tak to powinno działać, choć zakłada brak jest zdarzenie nazywa never.

Spamapy
źródło
0

Z tego postu: Sekcja „Rozpocznij od” musi być kompletna i poprawna pod względem składni.

start on runlevel [!0123456]

Ten wiersz oznacza wykonanie, gdy poziom uruchamiania nie jest w [0,1,2,3,4,5,6] (są to jedyne poziomy pracy, więc nigdy nie jest uruchamiany).

Inną opcją jest użycie chkconfigzgodnie z tym postem.

xst
źródło