/ etc / init /和/etc/init.d/有什么区别?

Modified on: Mon, 25 Jun 2018 04:32:23 +0800

/etc/init//etc/init.d/之间有什么区别?

更一般地说,.d后缀对目录的含义是什么?

最佳答案

/etc/init.d包含System V init工具(SysVinit)使用的脚本。这是Linux的传统服务管理包,包含init程序(内核完成初始化时运行的第一个进程¹)以及启动和停止服务并配置它们的一些基础结构。具体来说,/etc/init.d中的文件是响应startstoprestart的shell脚本,和(当支持时)reload命令来管理特定服务。这些脚本可以直接调用(或最常见)通过其他触发器调用(通常在/etc/rc?.d/中存在符号链接)。

/etc/init包含Upstart使用的配置文件。 Upstart是Ubuntu倡导的年轻服务管理软件包。 /etc/init中的文件是配置文件告诉Upstart如何以及何时startstopreload配置,或查询服务的status。从清晰度来看,Ubuntu正在从SysVinit过渡到Upstart,这解释了为什么许多服务都带有SysVinit脚本,即使Upstart配置文件是首选。实际上,SysVinit脚本由Upstart中的兼容层处理。

目录名中的

.d通常表示包含许多配置文件或脚本的目录,用于特定情况(例如/etc/apt/sources.list.d包含文件连接成虚拟sources.list; /etc/network/if-up.d包含在网络i nter f ace被激活)。当目录中的每个条目由不同的源提供时,通常使用此结构,以便每个包都可以存放自己的插件,而无需解析单个配置文件以引用自身。在这种情况下,恰好“init”是目录的逻辑名称,SysVinit首先使用init.d,Upstart使用plain init作为目录具有类似的目的(如果他们使用/etc/upstart.d而更加“主流”,也许不那么傲慢。)

¹不计算initrd

作者:Gilles

相关问答

添加新评论