linux 中 init,inittab, init.d, rcX.d 系统启动之间的调用关系关系
1. 内核起来调用 linux 的 init 程序
2. init 程序读取 inittabe 脚本
3. 运行 init.d init.d/rcS 脚本
3. 运行 与运行级别相对应的 rcX.D 目录下的脚本
/etc/init.d目录在Linux系统中可是大名鼎鼎。它只负责一件事情,但却涉及到全系统。它包含系统中各种服务的start/stop脚本,从acpid到x11-common,其重要性可见一斑。
init.d 初始化脚本称之为System V风格初始化,是System V系统传统之一,后来成为一些Unix系统的共同特性的源头。值得一提的是,在/etc目录下可能还包含rc#.d目录,这也是System V风格,#为数字0到6,为系统的运行级别runlevel。可见System V风格影响深远。
init.d目录下脚本的执行方式为
/etc/initi.d/command OPTION
command指服务的命令,比如bluetooth,networking,samba,ssh等等。OPTION指stop,start,reload,restart,force-reload。
比如重启SSH服务的命令为(执行这个目录下的脚本,需要root用户权限):
$ sudo /etc/init.d/ssh restart
好像service命令 也是调用这里的服务么?
例如,停止SSH服务: service ssh stop
service xxx 启动 /etc/init.d/ 目录下的xxx脚本
如:service vsftpd start 和 /etc/init.d/vsftpd start 有同样的作用
aix中的差别:(inittab调用/sbin/rc.boot)
三、系统引导阶段
1、init进程执行rc.boot的第2个阶段,安装文件系统,启动页面调度,将RAM文件系统的ODM数据库拷贝到硬盘中。
2、引导过程从RAM文件系统转移到硬盘上的根文件系统。
3、将控制权交给硬盘文件系统中的init进程,init进程执行/etc/inittab脚本。
4、/etc/inittab脚本调用/sbin/rc.boot的第3个阶段,及启动其他的进程来引导系统。