从INIT进程的配置文件中可以看出,INIT进程首先读取了系统默认运行级别,之后立即使用/etc/rc.d/rc.sysinit脚本对系统进行初始化。
除此之外,脚本还设置了鼠标、键盘及产生随机数设备等。系统初始化脚本最主要的功能是为软件和系统服务创造一个良好的运行环境,许多底层功能都是在此脚本中设置完成的。
系统启动的最后阶段,INIT进程将会执行/etc/rc.local脚本。这个脚本是通过服务的形式调用的,运行级别目录中的S99local就是该文件的链接。rc.local脚本的主要作用是让用户定制系统启动时需要运行的脚本和命令。
查看/etc/rc.local脚本如下:
[root@localhost ~]# cat /etc/rc.local #!/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don't # want to do the full Sys V style init stuff. touch /var/lock/subsys/local
在脚本的最后一行,使用touch命令创建了一个名为local的空文件,这样做的目的是为了方便查阅该脚本是否已经执行过。
通常将管理员需要在系统启动时使用的命令保存在这个文件中,这样系统在启动时就会执行这些命令了。例如手动编译MySQL之后,可以将以下行加入该脚本:
/usr/local/mysql/bin/mysqld_safe --user=mysql &>/dev/null &
这样每次系统重新启动,MySQL就会自动运行了。
使用rc.local脚本时,需要注意以下几点:
技巧:如果系统启动之后发现系统中某个硬件没有正常工作,可以通过运行命令dmesg查看系统启动过程中的初始化错误信息。