我里面有一个脚本/etc/init.d/wifi
,我想在启动时启动它。我首先通过运行授予它权限sudo chmod 755 wifi
,然后我运行sudo update-rc.d wifi defaults
。最后,我启用了它wifi enable
并且它运行得很好。但是,当我重新启动时,该服务未激活。
为什么?我缺少什么?我使用的是 Debian 9。
答案1
首先,告诉 systemd 有关该服务的信息:
systemctl daemon-reload
这应该创建一个从 initV 启动到 systemd 单元文件的映射。现在你运行时应该会得到一些合理的输出......
systemctl status wifi
您可能需要启用该服务:
systemctl enable wifi
尽管这并没有解决确保它在初始化期间在正确的点启动的复杂性 - 即在依赖网络的服务之前启动。事实上,以这种方式启动网络是非常不寻常的。通常,systemd 和由 ifupdown、networkManager 或类似的网络处理的网络之间还有另一个抽象层。
答案2
我认为您忘记创建一个符号链接/etc/rc.d
答案3
update-rc.d
sysinit 是在启动时处理服务的老式方式。
现在你需要处理系统。
您可以创建一个systemd
脚本。
另一个“黑客”是将脚本添加到/etc/rc.local
,这样,它将在启动时执行。