15.04更新引导顺序update-rc.d时出错

我试图让Sickrage自动启动,我正在命令sudo update-rc.d sickrage defaults

这是错误:

initctl:无法连接到Upstart:无法连接到socket / com / ubuntu / upstart:连接被拒绝您尝试调用的脚本已转换为Upstart作业,但Upstart作业不支持lsb-header。 insserv:警告:脚本’plexmediaserver’缺少LSB标记并覆盖insserv:默认 – 启动未定义,假设脚本plexmediaserver' insserv: Default-Stop undefined, assuming empty stop runlevel(s) for script空启动运行级别plexmediaserver' insserv: Default-Stop undefined, assuming empty stop runlevel(s) for script plexmediaserver的plexmediaserver' insserv: Default-Stop undefined, assuming empty stop runlevel(s) for script

这是因为15.04不使用暴发户吗?

如何在不禁用systemd /安装upstart的情况下解决这个问题?

plex消息是一个红色的鲱鱼。

这只是你的系统也有问题的东西。 请参阅问题,例如在Kubuntu 15.04上为启动者启动plexmediaserver时遇到的问题 。

使用systemd单元。

为了在Ubuntu上安装SickRage,您没有说明您要遵循的说明列表,但在这些说明中,它告诉您以超级用户身份运行这些命令:

 cp sickrage / init.ubuntu /etc/init.d/sickrage
 chmod + x /etc/init.d/sickrage
 update-rc.d sickrage默认值

这些说明对于Ubuntu 15版是错误的,正如你所说的那样使用systemd而不是upstart。 幸运的是,SickRage附带了systemd操作系统的systemd服务单元,其安装说明如下

 cp sickrage / init.systemd /etc/systemd/system/sickrage.service
 systemctl预设sickrage.service

改进提供的systemd单元。

对于它的价值,我建议编辑该单位。

  • 程序的“守护进程”不是分叉准备协议的正确实现。 它所做的事情是多余的; 一个已经从systemd的服务管理中免费获得。 (事实上​​是暴发户。)
  • “安静”选项摆脱了在systemd下实际有用的东西。 它会停止将日志输出发送到标准输出。 但是systemd将记录所有程序的标准输出,并使其在日志和命令输出中可用
      systemctl status sickrage.service 
  • 整个PID文件废话完全是多余的。

实际上,这根本不适合systemd。 但是,它也没有为其他许多方法做好准备。 与基于upstart的Ubuntu的init.ubuntu提供的init.ubuntu甚至都不是一个暴发户的工作。 一项新贵工作仅存在一个多月。 开发人员一直在做一些愚蠢的事情,比如使systemd单元文件可执行 。 (他们还制作了Solaris SMF清单,一个XML数据文件,在同一个更改中可执行,请注意。)

像这样设置你的单位:

 [单元]
 Description = SickBeard守护程序

 [服务]
 #Ubuntu / Debian惯例:
 EnvironmentFile =  - 在/ etc /默认/ sickbeard
用户= sickbeard
组= sickbeard
类型=简单
 WorkingDirectory = /选择/ sickbeard
 ExecStart = / usr / bin / python SickBeard.py --nolaunch $ {SB_OPTS}

 [安装]
 WantedBy = multi-user.target

Bonus daemontools部分

对于踢球,娱乐任何daemontools家庭 – 使用通过WWW搜索达到此目的的人,并展示广泛的适用性(甚至对于systemd和upstart以外的服务管理系统)遵循上述关于如何在服务经理,我通过nosh工具集的 convert-systemd-units命令运行该服务单元,并手动添加了一个sh -c来执行shell变量扩展,以生成以下daemontools-family运行脚本:

 #!/ bin中/ NOSH
从./sickbeard.service生成的#Run文件
 #SickBeard守护进程
 chdir / opt / sickbeard
 setuidgid sickbeard
 read-conf --oknofile / etc / default / sickbeard
 sh -c'exec / usr / bin / python SickBeard.py --nolaunch $ {SB_OPTS}'