在 Debian 10 Buster 中创建自定义 /etc/init.d 脚本

tcd*_*aly 2 debian lsb init.d systemd debian-buster

我需要开发一个/etc/init.d脚本来启动和停止 Debian 10 Buster 中的服务器(二进制可执行文件)。而在 Debian 的早期版本中,您将编写一个完整的 shell 脚本来发出对 的调用'start-stop-daemon',而在最近的版本中,这些机制似乎已经被抽象掉了。手册页'init-d-script'提供了一个简单的脚本,该脚本将根据设置单个变量来启动和停止服务器'DAEMON'

但是,我需要在服务器启动后通过将锁定文件写入磁盘来进行自定义,更改当前工作目录并将自定义参数传递给服务器。

手册页指的是开发覆盖函数,例如'do_start_override''do_stop_override'可能会被调用而不是默认函数。我应该如何编写覆盖函数?我应该'do_start_cmd()'从中复制和粘贴函数'/lib/init/init-d-script'并修改它吗?或者我应该调用'start_daemon()'中定义的函数'/lib/lsb/init-functions'

Man*_*iur 5

Smartass 回复:

apt-get install sysvinit-core
Run Code Online (Sandbox Code Playgroud)

免责声明:我没有在 Buster 上做过这个,不要在重要的系统上尝试。

假设你想坚持,因为杰西新的默认,systemd在init.d脚本均不是首选方法配置 systemd 服务单元将是可行的方法。