网管进门之Linux服务器启动进程详解----通过/etc/inittab文件进行初始化
核心提示:随着Linux的利用日益广泛,特别是在网络利用方面,有大量的网络服务器使用Linux操纵系统。由于Linux的桌面利用和Windows相比还有1定的差距,所以在企业利用中常常是Linux和Windows操纵系统共存构成异构网络。
(5)通过/etc/inittab文件进行初始化
init的工作是根据/etc/inittab来履行相应的脚本进行系统初始化,如设置键盘、字体, 装载模块,设置网络,等等。
对RedhatLinux来讲,履行的顺序为:
/etc/rc.d/rc.sysinit # 由init履行的第1个脚本
/etc/rc.d/rc.sysinit主要做在各个运行模式中相同的初始化工作,包括:
设置初始的$PATH变量。
配置网络。
为虚拟内存启动交换。
设置系统的主机名。
检查root文件系统,以进行必要的修复。
检查root文件系统的配额。
为root文件系统打开用户和组的配额。
以读/写的方式重新装载root文件系统。
清除被装载的文件系统表/etc/mtab。
把root文件系统输进到mtab。
使系统为装进模块做豫备。
查找模块的相干文件。
检查文件系统,以进行必要的修复。
加载所有其他文件系统。
清除几个/etc文件:/etc/mtab、/etc/fastboot和/etc/nologin。
删除UUCP的lock文件。
删除过期的子系统文件。
删除过期的pid文件。
设置系统时钟。
打开交换。
初始化串行端口。
装进模块。
/etc/rc.d/rcX.d/[KS]
首先终止“K”开头的服务,然后启动“S”开头的服务。
对每1个运行级别来讲,在/etc/rc.d子目录中都有1个对应的下级目录。这些运行级别的下级子目录的命名方法是rcX.d,其中的X就是代表运行级别的数字。比如说,运行级别3的全部命令脚本程序都保存在/etc/rc.d/rc3.d子目录中。在各个运行级别的子目录中,都建立有到/etc/rc.d/init.d子目录中命令脚本程序的符号链接,但是,这些符号链接其实不使用命令脚本程序在 /etc/rc.d/init.d子目录中原来的名字。假设命令脚本程序是用来启动1个服务的,其符号链接的名字就以字母S打头;假设命令脚本程序是用来封闭1个服务的,其符号链接的名字就以字母K打头。很多情况下,这些命令脚本程序的履行顺序都很重要。假设没有先配置网络接口,就没有办法使用DNS服务解析主机名!为了安排它们的履行顺序,在字母S或 K的后面紧随着1个两位数字,数值小的在数值大的前面履行。比如:/etc/rc.d/rc3.d/S50inet就会在 /etc/rc.d/rc3.d/S55named之前履行。寄存在/etc/rc.d/init.d子目录中的、被符号链接上的命令脚本程序是真实的实干家,是它们完成了启动或停止各种服务的操纵进程。当 /etc/rc.d/rc运行通过每个特定的运行级别子目录的时候,它会根据数字的顺序顺次调用各个命令脚本程序履行。它先运行以字母K打头的命令脚本程序,然后再运行以字母S打头的命令脚本程序。对以字母K打头的命令脚本程序来讲,会传递Stop参数;类似地对以字母S打头的命令脚本程序来讲,会传递 Start参数。
履行/etc/ec.d/rc.local
Redhat Linux中的运行模式2、3、5都把/etc/rc.d/rc.local做为初始化脚本中的最后1个,所以用户可以自己在这个文件中添加1些需要在其他初始化工作以后,登录之前履行的命令。在保护Linux系统运转的日子里,肯定会碰到需要系统治理员对开机或关机命令脚本进行修改的情况。假设所做的修改只在引导开机的时候起作用,并且改动不大的话,可以考虑简单地编辑1下/etc/rc.d/rc.local脚本。这个命令脚本程序是在引导进程的最后1步被履行的。
履行 /bin/login 程式
login 程序会提示使用者需输进账号及密码, 接着编码并确认密码的正确性, 若2者相合, 则为使用者进行初始化环境, 并将控制权交给 shell,即等待用户登录。
屡次为止Linux启动进程全部结束。
最后笔者使用图1解释全部进程。
|
图1 Linux启动流程 |
总结:与 Linux 本身非常类似,Linux 的启动引导进程也非常灵活,可以支持众多的处理器和硬件平台。LILO 引导加载程序对引导能力进行了扩充,但是它却缺少文件系统的感知能力。最新1代的引导加载程序,例如 GRUB将更加灵活。
唐山网站建设www.fw8.netTAG:程序,命令,脚本,文件系统,初始化
评论加载中...
|