当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > Linux 运行级init详解

Unix/Linux
如何在linux下面运行招商银行专业版
Windows和Linux系统共存 完美解决方案
Linux 和对称多处理应用程序介绍
Red Hat Linux 附加引导和内核引导选项
Linux 2.6.11内核文件IO系统调用详解
走向高手之路 Linux系统内核技术解读
菜鸟乐园 Linux系统内核代码特色一览
Linux内核和传统Unix内核的比较
内核中的物理内存分配函数kernel api
使用 Linux 系统调用的内核命令
详细解析 Linux内核的主要配置选项
内核操作 Linux2.6内核驱动移植参考
Linux内存中Swap和Buffer Cache机制
高手进阶 更换Fedora Core 6的内核
高手风范 Linux操作系统内核编码风格
Linux操作系统内核中工作队列的操作
揭开Linux系统内核调试器的神秘面纱
系统“大挪移” Linux服务器迁移大法
高手进阶 重新编译Linux操作系统的内核
Ubuntu系统关于驱动模块命令的一些使用

Unix/Linux 中的 Linux 运行级init详解


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 211 ::
收藏到网摘: n/a

  Linux 启动时需要哪些步骤呢?本文将详细描述不同的运行级在启动中的作用。
对于那些在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口令,然后启动到一个新的运行级。

Linux 启动程序的调整,对于新手来说也是一个大问题,以后的教程中,我们将介绍这方面的知识。