我已经安装了乌迪克斯胶水在我的 Raspbian Raspberry Pi 上,以及 System V init脚本在/etc/init.d/udisks-glue
(按照说明这里)。我使其可执行并运行以下命令,不会返回任何错误。
sudo update-rc.d udisks-glue defaults
我可以很好地启动脚本,并且它按预期工作。
$ sudo service udisks-glue start
[ ok ] Starting Automounter: udisks-glue.
$ sudo service udisks-glue status
[ ok ] udisks-glue is running.
但是,当我重新启动时,它没有运行。这曾经工作得很好,但我重新安装了一个最小的系统,它不再工作了。我可能丢失了一些包裹。
$ sudo service udisks-glue status
[FAIL] udisks-glue is not running ... failed!
故障排除
start)
我尝试通过将块中的一行更改为来记录输出和错误
start-stop-daemon --start --exec $DAEMON -- -p $PIDFILE &>> /tmp/udisks-glue.log
重新启动后该文件为空。然而,它确实存在,这表明该脚本至少已部分执行。
最后,我尝试确认安装是否正确。除其他事项外,locate udisks-glue
回报
/etc/rc0.d/K01udisks-glue
/etc/rc1.d/K01udisks-glue
/etc/rc2.d/S01udisks-glue
/etc/rc3.d/S01udisks-glue
/etc/rc4.d/S01udisks-glue
/etc/rc5.d/S01udisks-glue
/etc/rc6.d/K01udisks-glue
编辑 - 进一步故障排除
我想我可以测试一下脚本是否运行得太早,所以我测试了两种可能的解决方案。两者都失败了。首先,我尝试让脚本以较低的优先级运行。
mv /etc/rc2.d/S{01,90}udisks-glue
其次,我在调用之前将其恢复然后插入sleep 90
到块中。start)
start-stop-daemon
答案1
听起来您的 Rasp Pi 设备正在以 2、3、4 或 5 以外的运行级别运行,因为您的/etc/rc*.d
目录包含指向udisks-glue
脚本的链接。您可以通过以下方式判断这一点:以 K 开头的链接将在处于这些运行级别之一时终止您的脚本/服务,而以 S 开头的链接将启动它。
我会仔细检查您的运行级别,然后调整相应运行级别目录中的链接。
我的运行级别是多少
您通常可以运行此命令来找出答案。
$ runlevel
N 5
所以我的系统处于运行级别 5。
答案2
我遇到了同样的问题,然后我去了
cd /etc/init.d/
并将 udisks 胶水粘到 root 上
sudo chown root: udisks-glue
尝试过
sudo reboot
它就像一个魅力!