insserv是由update-rc.d使用的低级工具。
insserv通过读取脚本(SysV风格的init脚本)中头部的注释来获取用于创建符号链接的信息,然后使用这些信息创建符号链接。
关于SysV风格的init脚本,查看SysV风格的init脚本
insserv [-v] [-c <config>] [-p <path>] [-d] [-f]
[[/]path/to/init.d/]script …
insserv [-v] [-c <config>] [-p <path>]
[[/]path/to/init.d/]script[,start=<lvl1,lvl2,…>,stop=<lvl1,lvl2,…>]
insserv [-v] [-c <config>] [-p <path>] -r [-d] [-f]
[[/]path/to/init.d/]script …
insserv -h
insserv支持的选项
参数
[[/]path/to/init.d/]
[[/]path/to/init.d/]script …
[[/]path/to/init.d/]script[,start=<lvl1,lvl2,…>]
-r [[/]path/to/init.d/]script …
重写(OVERRIDES)
除了使用扩展名,start = <lvl1,lvl2,…>和stop = <lvl1,lvl2,…>可以使用替代文件替换LSB注释头,或简单提供缺少的LSB注释头。这可以通过在/etc/insserv/overrides/目录中添加init脚本的同名文件来实现,文件的内容是新的LSB注释头。对于没有LSB标头的第三方引导脚本,可以在目录/usr/share/insserv/overrides/中添加相同名称的文件,使其完全符合LSB标准。
upstart job的兼容性
为了让upstart job作为init.d脚本工作,insserv将识别从/init.d/script路径到/lib/init/upstart-job作为upstart job的符号链接,而不是从文件中读取头文件使用参数lsb-header运行脚本来获取脚本头。
退出码
0:服务成功的安装或者移除。
1:服务没有安装或者移出。
注意事项
insserv的通配符*.不接受文件名为以下格式的文件:
*.rpm*
*.ba*
*.old
*.new
*.org
*.orig
*.save
*.swp
*.core
*~
除此之外,以$.#%_+-\*[]^:()~开始的文件名也会被忽略。
相关文件
/etc/insserv.conf
/etc/insserv.conf.d/
/etc/insserv/overrides/
/etc/init.d/
/etc/init.d/.depend.boot,
/etc/init.d/.depend.start,
/etc/init.d/.depend.stop
BUGS
Boot scripts sometimes lack a LSB comment header. Contact a package maintainer or developer of the software which provides the script to have a LSB comment header added to it.
参考文献
- man 8 insserv