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

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

我需要开发一个/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'

答案1

自作聪明的回应:

apt-get install sysvinit-core

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

假设你想坚持使用 Jessie 以来的新默认设置,systemdinit.d 脚本不是首选方法配置 systemd 服务单元才是正确答案。

相关内容