在复习接下来的问题的前,先分享给大家一个命令:查看一个配置文件中行首不有#的行   即提取有效行
              使用:      grep -v “`#”  /etc/inittab|grep  `是一个尖角号

今天学习的是inittab文件的剖析,在inittab文件中,所有条目均采用以下格式:id :run-levels:action:process  具体解释如下:

  • id:标识符,一般为两位字母或者数字  
  • run-levels:指定运行级别,可以指定多个
  • action:指定运行状态
  • process:指定要运行的脚本或者命令

       通俗点说,action 可以表示在什么背景或者下进行运行,run-levels  可以表示不同的方式,process表示是一个事情,id表示事情的编号  是最不重要的

接下来来我们来挨个剖析每个段的详细情况:

action常用取值:

1、initdefault:指定系统缺省启动的运行级别
启动运行级别  注意最好不要设置6
 
2.sysinit 系统启动执行process中指定的命令
比如 /etc/rc.d/rc.sysinit   这是一个shell脚本
启动这个脚本,完成系统服务程序启动,如系统环境变量设置,设置系统时钟,加载字体,检查加载文件系统,生成系统启动信息日志文件等

3、wait:执行process中指定的命令,并等其结束再运行其他命令
比如 /etc/rc.d/rc 判断系统的默认运行级别,然后运行其服务,根据默认级别来执行对应的服务程序。打开inittab可以看到/etc/rc.d/  下保存了七个文件,分别对应不同级别的运行程序

其中文件的剖析如下:
第一位:S表示start K 表示kill  系统运行时启动其中S开头的
在切换系统,系统通过K和S 来判断哪些服务需要关闭或者启动
接下来的数字表示顺序,数字越小,越优先启动
第3部份是脚本名称

配置时,希望启动的服务越少越好,一是为了节省系统资源,而是为了减少系统遭受攻击! 如果需要关闭某一服务,可以删掉,但是不建议,建议大家更名即可!

4、once:执行process中指定的命令,不等待其结束
5、crtlaltdel:按下crtl alt del时执行process指定的命令

阶段性回顾一下之前讲的知识:系统启动引导流程如下,每行表示一个动作:
 firmware  加电自检
接下来读取MBR 存放了一个自举程序bootloader   linux中叫grub
接下来载入内核kernel
启动init
读取/etc/inittab
initdefault判断运行级别
/etc/rc.d/rc.sysinit
/etc/rc.d/rc
/etc/rc.d/rcN.d   N表示0到6
验证username  password

 

 

linux引导流程解析(二)

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.