Выскочка на Debian?

20

Я создал сценарий upstart в Ubuntu, думая, что он будет таким же для Debian. Но у Debian нет /etc/initпапки, которая есть в Ubuntu. Я пошел на страницу загрузки выскочки и, увидев, что у них есть пакеты, сделал apt-get install upstart, но он просит удалить sysvinit, который, я знаю, может / может испортить мою систему. Так как мне заставить мой скрипт Ubuntu работать на Debian?

theTuxRacer
источник

Ответы:

12

Речь идет не о Debian против Ubuntu, а о SysVinit против Upstart . Debian по умолчанию использует SysVinit; Вы можете установить Upstart, но вам нужно знать, что вы делаете, и вы должны быть знакомы с ним, прежде чем даже подумать об установке его на рабочий сервер. Хотя теоретически возможно установить и то и другое, и только один из них работает как процесс номер один, Debian не поддерживает это сразу.

Upstart моложе SysVinit и имеет больше возможностей, что объясняет, почему вы не можете просто взять описание службы Upstart и передать его в SysVinit. Вам придется написать сценарий для/etc/init.d . В принципе , что потребности сценария , чтобы посмотреть на его первый аргумент ( $1) и start, stopили restartслужбы , как указано.

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

Жиль "ТАК - перестань быть злым"
источник
Так почему же Ubuntu использует и upstart, и SysVinit (или, по-видимому,)?
ColinM
@ColinM Ubuntu не использует SysVinit.
Жиль "ТАК ... перестать быть злым"
5

Причина, по которой он собирается убрать, sysvinitсостоит в том, что эти два - конфликты. Кроме того, обратите внимание, что sysvinitсчитается необходимым (читай: не должны быть удалены, если вы не знаете, что вы делаете ).

Часть вывода из 'aptitude show upstart`:

Conflicts: startup-tasks, system-services, sysvinit, upstart-compat-sysv, upstart-job

Если вы можете позволить себе подключить вашу систему, продолжайте и установите ее.

tshepang
источник
Нет, это производственный сервер. Разве я не могу создать службу, которую я могу запускать и останавливать из терминала?
theTuxRacer
Затем вставьте свой скрипт /etc/init.dи сделайте так, чтобы он понимал минимум start|stop|restartкоманд. Вам не нужно upstartзапускать скрипт, только обычную командную строку.
Алекс
@kau Как насчет того, чтобы клонировать свой рабочий сервер на какой-нибудь тестовый компьютер, установить upstart и протестировать?
чепанг
@alex @Tshepang Можете посмотреть и посоветовать, пожалуйста? paste.ubuntu.com/555683 Баночка не выполнена.
theTuxRacer
Вам не нужно execтам - иди почитайте несколько страниц руководства и / или книг о сценариях оболочки.
Алекс