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