对于那些在DOS/Win9x/NT平台下的高级用户而言,Linux彷佛是一个怪物。没有config.sys,没有 autoexec.bat,具备我的特点的机器配置不知道从何开始。
须要说明的是,不少人认为Linux是Unix的一个克隆,可是,这种说法对于Linux是不公平的。Linux比Unix更加开放,功能更强大。咱们应该称之为GNU/Linux 。
Linux启动时,运行一个叫作init的程序,而后由它来启动后面的任务,包括多用户环境、网络等。
那么,到底什么是运行级呢?简单的说,运行级就是操做系统当前正在运行的功能级别。这个级别从1到6 ,具备不一样的功能。这些级别在/etc/inittab文件里指定。这个文件是init程序寻找的主要文件,最早运行的服务是那些放在/etc/rc.d 目录下的文件。
大多数的Linux发行版本中,启动脚本位于/etc/rc.d/init.d。这些脚本被ln命令来链接到 /etc/rc.d/rcn.d目录。(这里的n 就是运行级0-6) 例如/etc/rc.d/rc2.d下面的S10network就是链接到/etc/rc.d/init.d下的network脚本的。
所以,咱们能够知道,rc2.d下面的文件就是和运行级2有关的。文件开头的S表明start就是启动服务的意思,后面的数字10就是启动的顺序。例如,在同一个目录下,你还能够看到S80postfix这个文件,80就是顺序在10之后,由于没有启动网络的状况下,启动postfix是没有任何做用的。
再看一下/etc/rc.d/rc3.d,能够看到文件S60nfslock,可是这个文件不存在于/etc/rc.d/rc2.d目录下。NFS要用到这个文件,通常用在多用户环境下,因此放在rc3.d目录下。
另外,在/etc/rc.d/rc2.d还能够看到那些K开头的文件,例如/etc/rc.d/rc2.d/K45named,K表明kill。
标准的Linux运行级为3或者5,若是是3的话,系统就在多用户状态。若是是5的话,则是运行着X Window 系统。若是目前正在3或5,而你把运行级下降到2的话,init就会执行K45named脚本。
不一样的运行级定义以下:(能够参考Red Hat Linux里面的/etc/inittab)
# 缺省的运行级,RHS用到的级别以下:
# 0 - 停机(千万不要把initdefault设置为0 )
# 1 - 单用户模式
# 2 - 多用户,可是没有NFS
# 3 - 彻底多用户模式
# 4 - 没有用到
# 5 - X11
# 6 - 从新启动(千万不要把initdefault设置为6 )
# 对各个运行级的详细解释:
0 为停机,机器关闭。
1 为单用户模式,就像Win9x下的安全模式相似。
2 为多用户模式,可是没有NFS支持。
3 为完整的多用户模式,是标准的运行级。
4 通常不用,在一些特殊状况下能够用它来作一些事情。例如在笔记本电脑的电池用尽时,能够切换到这个模式来作一些设置。
5 就是X11,进到X Window系统了。
6 为重启,运行init 6机器就会重启。
不一样的运行级有不一样的用处,也应该根据本身的不一样情形来设置。例如,若是丢失了root口令,那么可让机器启动进入单用户状态来设置。在启动后的lilo提示符下输入:
init=/bin/sh rw
就可使机器进入运行级1 ,并把root文件系统挂为读写。它会跳过全部系统认证,让你使用passwd程序来改变root口令,而后启动到一个新的运行级。html
补充:linux
咱们可使用 runlevel命令来查看系统当前的运行级别,使用方法以下:安全
1
2
|
[root@Ansen ~] # runlevel
N 3
|