linux mint 13 没有/etc/inittab 文件
首先,ubuntu自从6.10版本之后就使用了较新的upstart机制来进行系统的初始化。之后都是没有systemv启动机制的inittab文件的,但是兼容,也就是说,你可以按照redhatopenSUSE那样touch一个inittab文件,然后修改即可以修改runlevel。系统会首先搜寻inittab文件,如果不存在,那么将运行在2级别上。所以你可以自己建个inittab文件,或者把相应的telinit2改为telinitX(你想要运行的级别)。mint是基于ubuntu的,所以,你懂的!
ubuntu6.10之后运行级别与一般linux运行级别稍有不同,如下:
编号名称/功能
0关闭系统
1让系统进入单用户(S,恢复)模式
S单用户(恢复)模式,文本登录界面,只运行很少几项系统服务
2多用户模式,图形登录界面,运行所有预定的系统服务
3、4、5多用户模式,图形登录界面,运行所有预定的系统服务(对于系统定制而言,运行级别2-5的作用等同)
6重启系统
用runlevel命令可以查看显示前一个运行级别以及当前运行级别。一般会显示N2,表示前一个运行级别未知,当前运行级别为2.
默认运行级别
默认情况下,Ubuntu系统引导进入多用户模式(运行级别2)。
telinit
具有root特权身份的用户可以使用实用工具telinit来关闭系统、重启系统,或者在恢复(单用户)模式与多用户模式之间切换。实用工具telinit属于一种迁移工具,用来兼容SysVinit系统。在运行Upstart的系统中,这个实用工具会根据自己的参数发送
某个运行级别事件。telinit命令的格式如下:
telinitrunlevel
恢复模式与root口令
当系统进入恢复(单用户)模式的时候,如果尚未将root账号解锁,那么在显示root提示符之前init会要求输入root口令。否则它会显示root提示符,而不要求输入口令。
当系统进入多用户模式的时候,它会显示图形登录界面。
警告:不要直接将运行级别修改为运行级别S。使用telinit要求系统切换为运行级别1,这会让系统首先进入运行级别1,此时适当的系统进程(运行系统服务)将被杀死,然后自动进入运行级别S。直接将运行级别修改为运行级别S,可以让系统进入运行级别S,而不会首先杀死任何进程。因此,通常最好不要这样做。
切换系统运行级别
方式1:终端输入init0/1···/6/S,s(系统运行级别号)
方式2:终端输入telinit0/1··/6/S,s(系统运行级别号)
与初始化运行级别有关的文件
1、/etc/init
rc.confrc-sysinit.confrcS.conf
2./etc/init.d
rcrc.localrcS
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,默认为2,可能被用户自定义的inittab文件的内容所修改(override)
3.运行/etc/init.d/rc
4.运行相应的/etc/rcN.d中的脚本
5./etc/rcN.d/中的脚本按设定的优先级依次启动,运行/etc/init.d/下的相应脚本
如想进一步了解,或详细了解:
在命令行模式输入:
man8init;
man5init;
即可查询系统给出的manual(手册)信息。
参考文章:
http://v2v12012.blog.51cto.com/5692118/968661
http://book.51cto.com/art/200905/126183.htm