Debian系统下BBG配置NoIP服务开机自启动失败求助
解决BeagleBone Green Debian系统下NoIP开机自启动的问题
嘿,我看到你已经尝试了传统的sysvinit自启配置但没成功,大概率是因为你的Debian版本采用了systemd作为默认初始化系统,或者你的启动脚本缺少关键的头部注释导致系统无法识别。下面给你两种靠谱的解决方案:
方案一:修复传统sysvinit启动脚本
你的debian.noip2.sh脚本缺少sysvinit要求的LSB头部注释,这会让系统没法正确识别并处理它。先把脚本开头修改为如下内容:
#!/bin/sh ### BEGIN INIT INFO # Provides: noip2 # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: NoIP dynamic DNS updater # Description: Starts the NoIP dynamic DNS update daemon ### END INIT INFO DAEMON=/usr/local/bin/noip2 NAME=noip2 test -x $DAEMON || exit 0 # 后面的case语句部分保持原内容不变即可
修改完成后,不要手动创建软链接了,直接执行以下命令让系统自动配置对应运行级别的启动链接:
sudo update-rc.d debian.noip2.sh defaults
方案二:使用systemd服务(推荐,现代Debian标准方式)
如果你的Debian版本是9(Stretch)及以后的版本,默认使用systemd作为初始化系统,创建systemd服务文件会更稳定可靠:
- 新建
/etc/systemd/system/noip2.service文件,写入以下内容:
[Unit] Description=NoIP Dynamic DNS Update Service After=network.target [Service] Type=forking ExecStart=/usr/local/bin/noip2 ExecStop=/usr/local/bin/noip2 -K Restart=always [Install] WantedBy=multi-user.target
- 让systemd重新加载配置文件:
sudo systemctl daemon-reload
- 设置开机自启并立即启动服务:
sudo systemctl enable noip2.service sudo systemctl start noip2.service
你可以通过以下命令验证服务运行状态:
sudo systemctl status noip2.service
额外检查点
- 确保
/usr/local/bin/noip2拥有可执行权限:sudo chmod +x /usr/local/bin/noip2 - 手动执行
sudo /usr/local/bin/noip2时没有报错,确认/usr/local/etc/no-ip2.conf配置文件内容正确
内容的提问来源于stack exchange,提问作者Antonio Rafael da Silva Filho
相关产品推荐
相关产品推荐

