ubuntu的/etc/init.d
目录(从功能上)是否完全等同于我认为是更标准的目录/etc/rc.d/
(至少在arch上)?在启动脚本中使用init.d而非rc.d进行规范有什么特殊原因吗?
ubuntu的/etc/init.d
目录(从功能上)是否完全等同于我认为是更标准的目录/etc/rc.d/
(至少在arch上)?在启动脚本中使用init.d而非rc.d进行规范有什么特殊原因吗?
Answers:
Ubuntu用于/etc/init.d
存储SysVinit脚本,因为Ubuntu是基于Debian的,而Debian正是使用它。红帽使用/etc/rc.d/init.d
。我忘记了Slackware的用途。那里没有标准位置。
Ubuntu正在从SysVinit切换到Upstart的过程,后者使用NET中的配置文件/etc/init
。
/etc/init.d
。过渡到/etc/init/*.conf
稍后开始(8.04仍然是SysV样式,已经过渡了10.04)。
从历史上看,/etc/rc.d
目录树表示一个Init系统,它遵循4.4 BSD系统初始化的传统,通常称为rc
init系统。所有现代(Free / Open / Net)BSD系统和Slackware Linux都遵循这一传统。
的/etc/init.d
目录树表示下面的AT&T UNIX,SunOS中,系统初始化的Solaris传统系统V(SysV的)初始化系统。这通常称为SysV Init系统。Debian仍然在Wheezy系列中遵循这一传统,但计划在Jessie系列中使用SystemD。从历史上看,RedHat及其衍生产品使用SysV Init,但现在不再使用。
而且,随着时间的流逝,两种初始化方案的功能已被发行版采用。
实际上,至少在CentOS 6.8 Santiago中,/etc/init.d
它仅仅是的软链接/etc/rc.d
。
好的,这/etc/init.d
是一个可以快速部署初始化脚本的地方。激活此脚本的第二步是chkconfig
在其上运行命令。假设您运行chkconfig --add <yourscript>
,则会在/etc/init.d/<yourscript>
和之间创建符号链接/etc/rc.d/rcX.d/S50<script>
例如。rcX.d中的X表示脚本的运行级别编号,S50表示脚本类型(有两种类型,S&K,S告诉系统启动时启动脚本,K告诉系统执行以下操作:当您关闭脚本时,请优雅地退出该脚本。S/ K后面的数字表示这些脚本发生的顺序,以防万一您有一些脚本首先依赖于其他脚本。默认情况下,如果在脚本中未指定运行级别,或者在发出runlevel命令时,CentOS6会为运行级别2,3,4,5创建S50脚本,为运行级别0,1,6创建K50。
/etc/rc.d
我所见过的唯一使用的发行版...我怀疑它可能会在bsd中使用。