У меня есть ноутбук. Я часто использую его для веб + электронной почты, а затем несколько дней для веб-разработки. Используя его для последнего, мне нужно запустить сервер apache2 и mysql, но обычно это не так.
Я бы хотел, чтобы обычная загрузка НЕ запускала apache и mysql, чтобы экономить электроэнергию, сокращать время загрузки и т. Д., А затем иметь возможность запускать эти службы при необходимости.
В старые времена я мог использовать для этого уровни запуска, но сейчас, как я понимаю, это уже немного устарелая школа. Какой лучший способ добиться этого в Precise?
Чтобы остановить запуск mysql при загрузке:
sudo echo "manual" | sudo tee /etc/init/mysql.override
Чтобы остановить запуск apache2 при загрузке:
sudo update-rc.d apache2 disable 2
Всякий раз, когда вам нужно запустить mysql или apache2, все, что вам нужно сделать это запустить службу самостоятельно (и вы также можете остановить оба вручную).
Вы можете использовать
sudo apache2ctl {start|stop|restart}
для этого и
sudo service mysql {start|stop}
для mysql.
Способ сделать это с хорошими старыми уровнями выполнения:
MySQL теперь использует сценарий upstart, но внутри он все еще говорит об уровнях выполнения. Отредактируйте /etc/init/mysql.conf
и измените строки, как в этом diff:
-start on runlevel [2345]
-stop on starting rc RUNLEVEL=[016]
+start on runlevel [345]
+stop on starting rc RUNLEVEL=[0126]
Apache2 по-прежнему использует ссылки уровня rc.Nd sym:
sudo update-rc.d -f apache2 remove
sudo update-rc.d apache2 start 91 3 4 5 . stop 09 0 1 6 .
Затем на нормальном загрузитесь (уровень запуска 2), они не будут запущены, и когда вы сделаете sudo telinit 3
, они будут запущены.
Вы можете использовать программы, указанные в ссылке , смотрите здесь и здесь