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}'