我需要编写几个 Linux (Debian) 启动脚本。
有没有准确的模板可以参考?
答案1
只需看一下 中存在的脚本即可/etc/init.d/
。特别注意README
那里的文件。它还暗示Debian 政策手册中关于初始化脚本的部分。
实际上,您正在寻找的可能是/etc/init.d/skeleton
:
# Short-Description: Example initscript
# Description: This file should be used to construct scripts to be
# placed in /etc/init.d.
答案2
gedit /usr/share/doc/initscripts-*/sysvinitfiles
答案3
Debian 过去常常使用 dh-make (/usr/share/debhelper/dh_make/debian/init.d.ex) 发布一个示例 initscript,直到 jessie。但自从stretch(变更日志[2])以来已经放弃了,因为Debian正在转向systemd,并且存在bug#832764 [1]中解决的不兼容性。然而,如果 systemd 互操作性不是问题,我们仍然可以从旧档案中提取该文件的副本 [3]。另一种方法是使用 sysvinit-utils 包中包含的 init-d-script(第 5 节中的手册),在此帮助下,可以编写一个简短文件,仅提供(可选)LSB 标头、守护程序名称、命令行参数、pidfile 等,然后 source /lib/init/init-d-script,并将此文件放在 /etc/init.d 下。这实际上是 dh-make 的 init.d.ex 在被删除之前发生的情况。除此之外, /lib/init/init-d-script 本身可以用作 init 脚本模板(的一部分),因为它实现了许多 init 脚本功能。
[1]https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=832764 [2]http://metadata.ftp-master.debian.org/changelogs/main/d/dh-make/dh-make_2.201608_changelog [3]https://www.apt-browse.com/browse/debian/jessie/main/all/dh-make/1.20140617/file/usr/share/debhelper/dh_make/debian/init.d.ex