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