plex 消息只是一种转移注意力的花招。

plex 消息只是一种转移注意力的花招。

我正在尝试让 Sickrage 自动启动,但我在执行命令时遇到了麻烦sudo update-rc.d sickrage defaults

错误如下:

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

这是因为 15.04 没有使用 upstart 吗?

我该如何在不禁用 systemd / 安装 upstart 的情况下修复此问题?

答案1

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 preset sickrage.service

改进所提供的 systemd 单元。

不管怎样,我建议编辑该单元。

  • 程序的“守护进程”不是分叉就绪协议的正确实现。它这样做是多余的;人们已经可以从 systemd 的服务管理中免费获得它了。(事实上,还有 upstart 的服务管理。)
  • “quiet”选项会删除 systemd 下实际有用的内容。它会停止将日志输出发送到标准输出。但 systemd 会记录程序的所有标准输出,并将其显示在日志和命令输出中,例如
    systemctl status sickrage.service
  • 整个 PID 文件的废话完全是多余的。

确实,它根本就没能很好地适应 systemd。但是,它也没有很好地适应其他很多东西。init.ubuntu与 SickRage 一起提供对于基于新贵的 Ubuntu 来说甚至不是一个新贵的工作。 一项新兴的工作才刚刚存在一个多月。开发人员一直在做一些愚蠢的事情,比如使 systemd 单元文件可执行(他们还制作了 Solaris SMF 清单,这是一个 XML 数据文件,可以在同一个更改中执行,请注意。)

像这样设置你的单位:

[单元]
描述=SickBeard 守护进程

[服务]
# Ubuntu/Debian 约定:
环境文件=-/etc/default/sickbeard
用户=sickbeard
群组=sickbeard
类型=简单
工作目录=/opt/sickbeard
ExecStart=/usr/bin/python SickBeard.py --nolaunch ${SB_OPTS}

[安装]
WantedBy=多用户.目标

附加 daemontools 部分

为了好玩,为了让任何使用 daemontools 系列的人通过 WWW 搜索找到此信息,并展示遵循上述关于如何在服务管理器下运行的要点的广泛适用性(甚至适用于 systemd 和 upstart 以外的服务管理系统),我通过nosh 工具集 convert-systemd-units命令,并手动添加了一个sh -c做shell变量扩展,以生成以下daemontools-family运行脚本:

/bin/nosh 是 #!/bin/nosh 的缩写,意思是“无用”
#从 ./sickbeard.service 生成的运行文件
#SickBeard 守护进程
chdir /opt/sickbeard
setuidgid sickbeard
读取配置 --oknofile /etc/default/sickbeard
sh -c ‘exec /usr/bin/python SickBeard.py --nolaunch ${SB_OPTS}’

相关内容