15.04 Ошибка обновления последовательности загрузки update-rc.d

Я пытаюсь заставить Sickrage автоматически стартовать, и я бью стену по команде sudo update-rc.d sickrage defaults

Вот ошибка:

initctl: невозможно подключиться к Upstart: не удалось подключиться к сокету /com/ubuntu/upstart: соединение отклонено Сценарий, который вы пытаетесь вызвать, преобразован в задание Upstart, но lsb-header не поддерживается для заданий Upstart. insserv: предупреждение: в скрипте 'plexmediaserver' отсутствуют теги LSB и переопределения insserv: Default-Start undefined, при условии, что для скрипта пустые уровни запуска запуска plexmediaserver' insserv: Default-Stop undefined, assuming empty stop runlevel(s) for script plexmediaserver"

Это потому что 15.04 не использует выскочку?

Как бы это исправить, не отключая systemd/ не устанавливая upstart?

1 ответ

Plex сообщения - красная сельдь.

Это просто то, что не так с вашей системой. Смотрите вопросы, такие как Проблемы с запуском plexmediaserver на Kubuntu 15.04 для начинающих.

Используйте системный блок.

Вы не говорите, какой список инструкций вы следуете, чтобы установить SickRage в Ubuntu, но где-то в этих инструкциях вам было сказано запускать эти команды в качестве суперпользователя:

cp sickrage / init.ubuntu /etc/init.d/sickrage
chmod + x /etc/init.d/sickrage
update-rc.d по умолчанию

Эти инструкции неверны для Ubuntu версии 15, которая, как вы говорите, использует systemd, а не upstart. К счастью, SickRage поставляется с сервисным модулем systemd для операционных систем systemd, инструкции по установке которого приведены ниже.

cp sickrage/init.systemd /etc/systemd/system/sickrage.service
systemctl preset sickrage.service

Улучшите системный модуль, который поставляется.

Для чего это стоит, я рекомендую редактировать этот блок.

  • "Демонизация" программы не является правильной реализацией протокола готовности к разветвлению. И то, что он делает, излишне; один уже получает это бесплатно от управления сервисами systemd. (И выскочка на самом деле.)
  • Опция "quiet" избавляет от чего-то, что действительно полезно в systemd. Останавливает вывод журнала в стандартный вывод. Но systemd запишет все стандартные выходные данные программы и сделает их доступными в журнале и при выводе таких команд, как
     systemctl status sickrage.service 
  • Вся ерунда в PID-файле совершенно излишня.

На самом деле, это не очень хорошо приспособлено для systemd. Но тогда, ни то, ни другое не было приспособлено для многих других. init.ubuntu поставляемый с SickRage для Ubuntu на основе выскочек даже не выскочка. Работа выскочки существовала только чуть более месяца. И разработчики делали глупые вещи, такие как создание исполняемого файла системного модуля. (Они также сделали манифест Solaris SMF, файл данных XML, выполнимым с тем же изменением, уведомление.)

Настройте свой блок так:

[Единица измерения]
Описание = демон SickBeard

[Обслуживание]
Соглашение Ubuntu/Debian:
EnvironmentFile=-/ и т.д. / по умолчанию / sickbeard
Пользователь =sickbeard
Группа =sickbeard
Тип = простой
WorkingDirectory=/ опт /sickbeard
ExecStart=/usr/bin/python SickBeard.py --nolaunch ${SB_OPTS}

[Установить]
WantedBy=multi-user.target

Бонусный раздел daemontools

Для удовольствия, для развлечения любых людей, использующих семейство daemontools, которые достигают этого с помощью поиска в WWW, и для демонстрации широкой применимости (даже к системам управления службами, кроме systemd и upstart) следования вышеупомянутым пунктам о том, как работать под менеджеры по обслуживанию, я запустил этот сервисный блок через набор инструментов Nosh convert-systemd-units команда и добавила вручную sh -c чтобы выполнить расширение переменной оболочки, создайте следующий скрипт запуска семейства daemontools:

#! / Bin / перекус
# Запустить файл, сгенерированный из./sickbeard.service
#SickBeard daemon
chdir /opt/sickbeard
Сетидгид больной
read-conf --oknofile /etc/default/sickbeard
sh -c 'exec /usr/bin/python SickBeard.py --nolaunch ${SB_OPTS}'
Другие вопросы по тегам