сценарий init.d, не выполняемый на начальной загрузке

Не используйте синаптический. Просто загрузите пакет, Вы нуждаетесь, затем используете dpkg непосредственно:

dpkg -i --ignore-depends=<package(s) to ignore> yourpackage.deb
4
30.04.2015, 20:13
2 ответа

А теперь для ответов Ubuntu.

Это вопрос Linux Ubuntu, а теперь версия 15 теперь выпущена. World Ubuntu теперь имеет систему. Но даже до версии 15 был выскочил мир Ubuntu. Там действительно нет причина для записи системы 5 скриптов ; И есть, безусловно, нет никаких веских причин для начала оттуда .

Оба выхода, так и Systemd делают все «элементы управления услугами». Все, что вам нужно сделать, это Опишите службу .

SystemD

Сервисный блок SystemD, который должен быть размещен в /etc/systemd/system/mailcatcher.service , это

[Unit]
Description=Ruby MailCatcher
Documentation=http://mailcatcher.me/

[Service]
# Ubuntu/Debian convention:
EnvironmentFile=-/etc/default/mailcatcher
Type=simple
ExecStart=/usr/bin/mailcatcher --foreground --http-ip 192.168.50.10

[Install]
WantedBy=multi-user.target

Это автоматически получает один из всех системных элементов управления, например:

  • SystemCTL Включить MailCatcher.Service , чтобы установить сервис, чтобы автоматически запуститься при загрузке.
  • SystemCTL PRESET MAILCATCHER.SERVICE Чтобы установить сервис для автоматической работы при загрузке, если локальная политика разрешает его.
  • SystemCTL Запуск MailCatcher.Service Чтобы запустить службу вручную.
  • Systemctl Status Mailcatcher.Service , чтобы увидеть состояние обслуживания.

upstart

upstart аналогичен и модифицирующему файлу задания задания fideloper llc к этому вопросу дает это для /etc/init/mailcatcher.conf :

description "Mailcatcher"

start on runlevel [2345]
stop on runlevel [!2345]

respawn

exec /usr/bin/mailcatcher --foreground --http-ip=192.168.50.10

Это автоматически получает один все наверх Органы управления, такие как:

  • initctl Mailcatcher , чтобы начать службу вручную.
  • initctl Status Mailcatcher , чтобы увидеть состояние обслуживания.

Секция бонус Daemontools

для ударов, для развлечений любых Daemontools-Family - использование людей, которые достигают этого через поиск www, и продемонстрировать другую причину, почему не начать в системе 5 RC Сценарии, я запустил эту систему Systemd Service Build через команду Convert-Systemd-рядных единиц Nosh для создания следующих программных скриптов Daemontools-Family:

#!/bin/nosh
#Run file generated from ./mailcatcher.service
#Ruby MailCatcher
chdir /
read-conf --oknofile /etc/default/mailcatcher
/usr/bin/mailcatcher --foreground --http-ip 192.168.50.10

На самом деле, Convert-Systemd- Устройства Команда генерирует целый Nosh Сервисный пакет . С помощью этого каталога, который указывает информацию о зависимости и упорядочете, установленную как / var / sv / mailcatcher в системе с Nosh Service-Manager , можно получить все элементы управления Nosh, такие как :

  • Система-контроль Включить MailCatcher.Service , чтобы установить сервис, чтобы автоматически запуститься при загрузке.
  • Системное управление MailCatcher.Service Чтобы начать службу вручную.
  • Система-контрольный статус Mailcatcher.Service , чтобы увидеть состояние обслуживания.
  • Preset System-Control Preset MailCatcher.Service Чтобы установить автоматическую работу службы при загрузке, если локальная конфигурация (предустановки SystemD-стиля или /etc/rc.conf {,. Local} ) Разрешает это.

Даже не начинается с системой 5 RC файлов.

Посмотрите на этот шаблон , используемый SaltStack для системы 5 скриптов . Даже при удалении параметризации SaltStack, это 59 строк кода скрипта оболочки, большинство из которых является общими котельной, которую вы должны были бы повторно изобретать и переписать. Очередной раз. И Celada уже указал, где вы сильно изобрели это.

Файл системного блока длиной 11 строк. Файл работы upstart составляет 8 строк. Nosh Run скрипт - 6. И они делают все механики Start / Stop / Status для вас. Не начинайте с системы V RC , особенно не на Ubuntu Linux.

Дальше чтение

9
27.01.2020, 20:47

При запуске команды во время загрузки мы не обязательно имеем доступ к ENV для этой команды. Мне нужно было использовать полностью квалифицированное имя для этой команды.

не работает над загрузкой

mailcatcher --http-ip 192.168.50.10

Работает на загрузке

/usr/bin/mailcatcher --http-ip 192.168.50.10

Мой скрипт теперь функционален, но я планирую добавить элементы управления услугами, чтобы начать и прекратить работу в более позднее время.

3
27.01.2020, 20:47

Теги

Похожие вопросы