前言:

        ubuntu12.04没有etc/inittab目录,它采用新的系统启动初始化机制upstart而不是之前的system V initialization机制

 Linux系统有8个运行级别(runlevel)
  • 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
    运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
    运行级别2:多用户状态(没有NFS)
    运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
    运行级别4:系统未使用,保留
    运行级别5:X11控制台,登陆后进入图形GUI模式
    运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
    运行等级S,s 单用户工作状态(单用户工作状态)

  • 多数的桌面的linux系统缺省的runlevel是5,用户登陆时是图形界面,而多数的服务器版本的linux系统缺省的runlevel是3,用户登陆时是字符界面,runlevel 1和2除了调试之外很少使用,runlevel s和S并不是直接给用户使用,而是用来为Single user mode作准备。 

 run level相关操作(root用户)

  • 查看系统运行级别

终端输入runlevel

  • 切换系统运行级别

方式1:终端输入init 0/1···/6/S,s(系统运行级别号)
方式2:终端输入telinit 0/1··/6/S,s(系统运行级别号)

 与初始化运行级别有关的文件
  • 1、/etc/init
  • rc.conf  rc-sysinit.conf  rcS.conf
  • 2./etc/init.d
  • rc rc.locl
  • 3./etc
  • rcN.d(N=0,1···6,S)
  • 在/etc下有7个名为rcN.d的目录,对应系统的7个运行级别,rcN.d目录下都是一些符号链接文件,这些链接文件都指向init.d目录下的service脚本文件,命名规则为K+nn+服务名或S+nn+服务名,其中nn为两位数字。
  • 对于以K(kill)开头的文件,系统将终止对应的服务
  • 对于以S(start)开头的文件,系统将启动对应的服务

 系统初始化过程

 1.内核启动init

 2.init找到/etc/init/rc-sysinit.conf文件,确定默认的runlevel

 3.运行/etc/init.d/rc

 4.运行相应的/etc/rcN.d中的脚本 

5./etc/rcN.d/中的脚本按设定的优先级依次启动,运行/etc/init.d/下的相应脚本