Назад | Перейти на главную страницу

Запускать службу при запуске с Ubuntu

Я не понимаю, как запустить службу при загрузке сервера, я прочитал некоторые другие вопросы, заданные о добавлении скрипта в /etc/init.d, но это всего лишь одна строка, которую мне нужно выполнить в командной строке:

sudo /etc/init.d/avahi-daemon restart

Но у меня есть несколько проблем с этим, во-первых, мне, очевидно, нужно использовать sudo, и это дает мне следующее:

ngl-server-01:~% sudo /etc/init.d/avahi-daemon start  
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service avahi-daemon start

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the start(8) utility, e.g. start avahi-daemon

Но когда я пытаюсь просто avahi-daemon start Я получил:

Too many arguments

Почему это? и как бы вы запустили эту службу?

Обновить

Точно так же, как я могу смонтировать диск при загрузке?

Если avahi-daemon находится в /etc/init.d и вы хотите, чтобы он запускался при каждой загрузке, просто добавьте его в сценарии запуска с помощью:

sudo update-rc.d avahi-daemon defaults

Но я удивлен, что avahi-daemon все еще не связан на требуемых уровнях запуска, поскольку он, вероятно, был добавлен системой.

Чтобы диск был смонтирован при загрузке, добавьте строку в свой fstab, как предложил Ричард.

Вы можете запустить службу вручную, используя

sudo start avahi-daemon

и не используя

sudo avahi-daemon start

Если хотите, чтобы служба запускалась при загрузке. Вам нужно взглянуть на добавление символической ссылки на /etc/rc2.d/, чтобы указать на /etc/init.d/avahi-daemon. Наверное, легче читать программы sysv-rc-conf или update-rc.d

Для монтирования диска вам необходимо отредактировать / etc / fstab, указав правильные данные. Вам необходимо знать устройство, которое вы пытаетесь смонтировать (например, / dev / sdb1), точку монтирования (например, / mnt / data) и файловую систему.

Запись в fstab будет выглядеть примерно так:

/dev/sdb1    /mnt/data    ext3    defaults    0    2

У меня возникла проблема с запуском avahi-daemon при запуске системы в Ubuntu Server 12.04 даже после выполнения sudo update-rc.d avahi-daemon defaults и я решил это, изменив AVAHI_DAEMON_DETECT_LOCAL из 1 к 0 в /etc/default/avahi-daemon (как предлагается здесь).

Насколько я понимаю, проблема заключается в том, что avahi-daemon запустился до того, как мой сервер был готов к работе в сети. Он попытался обнаружить «одноадресные DNS-серверы», но, очевидно, потерпел неудачу и после этого вышел. Это поведение по умолчанию. Путем изменения AVAHI_DAEMON_DETECT_LOCAL до 0, я сказал avahi-daemon не искать эти серверы при запуске.

Я также подумал, что мне действительно не нужно запускать sudo update-rc.d avahi-daemon defaults, поэтому пользователь MatToufoutu был прав, сомневаясь.