Спасибо, Тим. В образ UEC нет пароля для пользователя root или ubuntu. Поэтому я просто использую закрытый ключ и ssh для экземпляра UEC, а затем создаю нового пользователя / пароль. После этого я могу войти в консоль VNC в этот экземпляр.
В настоящее время существует три разных способа запуска программного обеспечения в качестве службы в Ubuntu, SysV, Upstart и systemd. Служба здесь определена как программа, выполняемая системой в фоновом режиме, в отличие от запуска и запуска непосредственно пользователем.
Традиционный способ запуска служб в Linux должен был разместить сценарий в /etc/init.d, а затем использовать команду update-rc.d (или в дистрибутивах на основе RedHat, chkconfig), чтобы включить или отключить ее.
В этой команде используется немного сложная логика для создания символических ссылок в /etc/rc#.d, которые контролируют порядок запуска служб. Если вы запустите ls /etc/rc2.d, вы увидите порядок, в котором будут убиты службы с именем файла, например K##xxxx, и начнется с имен файлов S##xxxx. [F16] в S##xxxx означает «начальный порядок» для обслуживания xxxx. Наоборот, ## в K##xxxx означает порядок уничтожения для службы xxxx.
Одна из основных проблем с SysV заключалась в том, что при загрузке системы все должно было быть сделанные в последовательном порядке, одно за другим, что делает время загрузки системы очень медленным. Были предприняты попытки распараллелить это, но они были случайными и трудными в полной мере использовать. Это была основная причина создания Upstart.
Upstart использует файлы определения заданий в /etc/init для определения того, какие события должна запускаться служба. Таким образом, пока система загружается, выскочка обрабатывает различные события, а затем может запускать несколько служб параллельно. Это позволяет им полностью использовать ресурсы системы, например, путем запуска службы, связанной с диском, в то время как другая служба, связанная с процессором, запускается или пока сеть ожидает назначения динамического IP-адреса.
Вы можете просмотреть все файлы стартовых заданий, запустив ls /etc/init/*.conf
. Позвольте мне просто остановиться здесь и сказать, что, если вы не знаете, что такое служба или что она делает, НЕ отключите его!
Не все службы были преобразованы в выскочку. Во время работы над командой сервера в Canonical за последние несколько месяцев я работал над несколькими преобразованными файлами заданий, и самая приятная часть - это то, что он позволяет избавиться от всего скрипта «магия» и просто вставить несколько команд здесь и там, чтобы точно определить, как запустить службу, и не более того. На данный момент только несколько традиционных сетевых сервисов, таких как Upstart и Upstart , были преобразованы.
Чтобы выяснить, работает ли служба с выскочкой, вы можете запустить команду состояния:
status servicename
Если это выскочка, это покажет это: [!d20 ]
$ status statd
statd start/running, process 942
Но если это не так, вы увидите нечто подобное:
$ status apache2
status: Unknown job: apache2
В этом случае apache2 не был преобразован в upstart [!d21 ]. Таким образом, чтобы отключить apache2, вы просто запускаете
sudo update-rc.d apache2 disable
sudo service apache2 stop
У определений заданий стартового разряда нет команды update-rc.d. Чтобы отключить задание, вам нужно отредактировать файл задания напрямую, чтобы отключить его. Есть два способа сделать это.
Если вы хотите по-прежнему запустить его вручную, вам нужно прокомментировать условие start on. Предположим, вы хотите установить samba, но не запускайте его автоматически. Вот файл задания (в natty):
description "SMB/CIFS File Server"
author "Steve Langasek <steve.langasek@ubuntu.com>"
start on local-filesystems
stop on runlevel [!2345]
respawn
pre-start script
RUN_MODE="daemons"
[ -r /etc/default/samba ] && . /etc/default/samba
[ "$RUN_MODE" = inetd ] && { stop; exit 0; }
install -o root -g root -m 755 -d /var/run/samba
end script
exec smbd -F
Чтобы отключить samba , вы можете просто поставить # перед «start on local-filesystems». Обратите внимание, что, хотя он не будет запускаться при загрузке, вам все равно нужно остановить его на этот раз с помощью
sudo service smbd stop
Если, однако, вы никогда не хотите, чтобы samba запускался, я бы предложил фактически удалить пакет. Если вы хотите, чтобы он был установлен, но не был запущен, вы также можете:
mv /etc/init/smbd.conf /etc/init/smbd.conf.disabled
Начиная с версия выскочка, которая будет в 11.04, появляется новое ключевое слово, которое отключает строфы start on и stop on: manual. Таким образом, еще один способ отключить службу с 11.04:
echo 'manual' | sudo tee /etc/init/mysql.override
# command from root shell
echo manual >> /etc/init/mysql.override
Вы можете создать файл override, чтобы отключить службу без редактирования определения задания вообще, просто поместив manual ключевое слово в нем.
Попробуйте использовать sysv-rc-conf
sudo apt-get install sysv-rc-conf
и для начала управления службами выполните
sudo sysv-rc-conf
Это вызовет интерактивное окно, подобное этому
Вы можете продолжить перемещение по страницам с помощью Ctrl+n для следующей страницы и Ctrl+p для предыдущей страницы. Вы можете включить или отключить службы, выбрав SPACE на требуемых уровнях исполнения.
Другой альтернативой будет sysv-rc-conf , установив через
sudo apt-get install jobs-admin
Который также предоставляет графический интерфейс, подобный этому
Чтобы показать больше заданий, вам нужно отметить «Показывать защищенные» Задания из своего меню.
И третий вариант будет Показать защищенные задания ,
sudo apt-get install chkconfig
Его можно использовать через CLI chkconfig, показывая список заданий On / Off. Также мы можем просматривать системные службы, используя chkconfig –list
Службы можно включить, используя
chkconfig <service> on
Службы можно отключить, используя
chkconfig <service> off
И мы можем даже добавить наш собственный сервис, используя собственный сценарий инициализации с соответствующими заголовками.
chkconfig --add <service>
И здесь можно указать еще один вариант update-rc. d, кратко объяснил здесь.
Обратите внимание, что для Ubuntu Server 12.04, update-rc.d здесь update-rc.d
Для тех из нас, кто запускает Ubuntu поверх ssh, я думаю, что наиболее приятным вариантом является rcconf - текстовая программа:
sudo apt-get install rcconf
sudo rcconf
Навигация с вкладкой и стрелкой клавиши, нажмите пробел, чтобы включить / отключить. Изменения сохраняются через перезагрузки.
Снимок экрана, взятый из этого blogpost, который также показывает sysv-rc-conf - аналогичный инструмент, который также позволяет установить уровень запуска. (Для тех, кто достаточно заботится о уровнях выполнения, чтобы пожелать изменить их :)
К сожалению, rcconf не работает с выскочкой (услуги, перечисленные в /etc/init/*), только с традиционным механизмом (ls -l /etc/init.d/* - те, которые не являются символическими ссылками).
К счастью, многие из сервисов, которые имеют значение при подключении к серверу (Apache, Tomcat, mdadm, boinc-client ...) пока еще не вышли на сцену.
Я узнал, что есть этот инструмент GUI, что-то вроде BUM, но совместимый с Upstart:
Jobs-Adminsudo apt-get install jobs-admin
Редактирование существующего файла конфигурации выскочка (как описано выше) не является такой хорошей идеей. Обновленный пакет мог бы предоставить обновленную конфигурацию, и вам приходилось повторять свои изменения снова и снова.
Посмотрев на man 5 init, вы найдете более подходящее решение: с помощью переопределенной конфигурации. Краткий пример: предположим, что у нас есть служба под названием «foobar», поэтому будет файл с именем /etc/init/foobar.conf с его настройкой выскочки. Теперь вы не хотите удалять этот файл или изменять его, но вы не хотите, чтобы эта служба запускалась? Поэтому поместите над ним файл переопределения: /etc/init/foobar.override, содержащий (необязательно заголовок с описанием и), вместо строк start on / stop on вы поместите строку с одним словом: manual. Таким образом, вы скажете выскочку в основном использовать параметр foobar.conf, но переопределите определение запуска только для запуска этой службы при ручном принуждении (через service foobar start в нашем примере).
Существует также диспетчер загрузки.
Для установки: sudo apt-get install bum
Дополнительная информация: http://www.marzocca.net/linux/bum.html