linux的不行发行版之间使用的文件系统不一致,因此导致了linux启动过程所涉及的一些相关配置文件也各不相同,容易导致混乱。主要是体现在linux的init进程启动的过程:
Red Hat下相关的配置文件为:
/etc/inittab
/etc/rc.d/rc.sysinit
/etc/rc.d/rcX.d/ 目录下的各符号链接
/etc/rc.d/init.d/ 目录下的实际守护进程脚本
/etc/rc.d/rc.local 用户自定义启动脚本
Ubuntu下相关的配置文件对应为:
/etc/inittab (有的好像没有这个文件)
/etc/rcS.d/ 目录下的启动服务符号链接
/etc/rcX.d/ 各运行等级对应的启动目录,X:0-6
/etc/init.d/ 实际的服务启动脚本
/etc/rc.local 用户自定义启动脚本
下面主要就Ubuntu系统下的配置文件之间的关联进行一个整理:
init进程读取inittab文件,启动rcS.d目录下的所有服务,确定启动运行级别(initdefault),依据顺序停止[K]或启动[S]对应运行级别rcX.d/目录下的服务
rcS.d/rcX.d目录下的文件均为init.d目录下的服务脚本的符号链接,通过标识[K]标明停止,标识[S]标明启动。
三个文件:/etc/init.d/rc /etc/init.d/rc.local /etc/init.d/rcS
rc脚本通过第一个参数确定具体的服务运行目录/级别,如rc S 执行rcS.d/下的服务,rc 5 执行rc5.d/下的服务等。
rc.local脚本根据标识执行或停止/etc/rc.local脚本(如果存在),默认/etc/rc.local文件中没有任何内容,或者有一句 exit 0;可以在其中添加自定义的启动程序。
rcS脚本执行rcS.d/下的所有服务:exec /etc/init.d/rc S
新闻热点
疑难解答