最近把自己的树莓派搞了起来,搭了个上网的共享热点,但是遇到了开机自启动的设置问题。
我们先给出正常的ubuntu系统的开机自启动服务的设置:
在 /etc/init.d/ 路径下面创建自启动的shell脚本,如:
创建文件 clash-v1 ,并赋予至下权限。我这里一般就是直接copy 已经有的文件然后改名,再清空内容,比如我们可以先 sudo cp nfs-common clash-v1,然后再把clash-v1中的内容清空。
创建好文件后我们需要向里面填写启动内容,这里给出我的启动命令的内容:
#!/bin/sh nohup /home/devil/clash/clash -d /home/devil/clash 1>/tmp/clash.log 2>&1 & exit 0
完成文件内容的编辑后,我们需要设置服务的自启动,因为我们创建的文件名为clash-v1,于是创建服务的命令为:
sudo update-rc.d clash-v1 defaults 90
然后:
sudo systemctl enable clash-v1
但是此时往往会报错:
update-rc.d: error: XXX Default-Start contains no runlevels, aborting.
后来发现,原来在编辑最早的文件clash-v1的时候没有添加runlevels的注释,这里就直接把其他文件中的注释搞了过来,于是有了最后的结果:
clash-v1 文件:
#!/bin/sh ### BEGIN INIT INFO # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 ### END INIT INFO nohup /home/devil/clash/clash -d /home/devil/clash 1>/tmp/clash.log 2>&1 & exit 0
也就是说,只有在服务设置的文件中标注了这个4行注释才能设置服务成功,注释:
### BEGIN INIT INFO # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 ### END INIT INFO
===============================================
参考:
Ubuntu18.04server 双网卡,开机自动设置路由并启动校园网网络认证程序(Ubuntu开机自动设置路由,开机自启动应用程序)
标签:aborting,clash,开机,Default,v1,error,自启动,Start From: https://www.cnblogs.com/devilmaycry812839668/p/17130976.html