Chinaunix首页 | 论坛 | 博客
  • 博客访问: 534966
  • 博文数量: 260
  • 博客积分: 10435
  • 博客等级: 上将
  • 技术积分: 1939
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-24 14:50
文章分类

全部博文(260)

文章存档

2011年(22)

2010年(209)

2009年(29)

我的朋友

分类: LINUX

2009-12-01 16:25:42



运行级别就是操作系统当前正在运行的功能级别。这个级别从1到6 ,具有不同的功能。这些级别在/etc/inittab文件里指定。这个文件是init程序寻找的主要文件,最先运行的服务是那些放在/etc/rc.d 目录下的文件。 

不同的运行级定义如下:(可以参考Linux里面的/etc/inittab) 
# 缺省的运行级,RHS用到的级别如下: 
# 0 - 停机 
# 1 - 单用户模式 
# 2 - 多用户,但是没有NFS  
# 3 - 完全多用户模式 
# 4 - 没有用到 
# 5 - X11 
# 6 - 重启

不同的运行级有不同的用处,也应该根据自己的不同情形来设置。例如,如果丢失了root 口令,那么可以让机器启动进入单用户状态来设置。在启动后的 lilo 提示符下输入:
init=/bin/sh rw
就可以使机器进入运行级1 ,并把 root 文件系统挂为读写。他会跳过所有系统认证,让你使用passwd 程序来改变root口令,然后启动到一个新的运行级。


/etc/rc.d目录下面有:
rc0.d  rc1.d  rc2.d  rc3.d  rc4.d  rc5.d  rc6.d

对应上面的各个级别,这些目录下的文件,名称例如:
K92iptables        S00killall

K表示kill,S表示Start,数字92和00表示优先级,数字越小,级别越高;
iptables和killall都是/etc/rc.d/init.d下面的命令的链接



linux可以有多种运行级。常见的就是多用户的2,3,4,5 ,很多人知道 5 是运行 X-Windows 的级别,而 0 就是关机了。运行级的改变可以通过 命令来切换。例如,假设你要维护系统进入单用户状态,那么,可以使用 init 1 来切换。在Linux 的运行级的切换过程中,系统会自动寻找对应运行级的目录/etc/rc[0-6].d下的K 和 S 开头的文件,按后面的数字顺序,执行这些脚本。对这些脚本的维护,是很繁琐的一件事情,Linux 提供了 命令用来更新和查询不同运行级上的系统服务。

语法为:

chkconfig --list [name]
chkconfig --add name
chkconfig --del name
chkconfig [--level levels] name
chkconfig [--level levels] name


chkconfig 有五项功能:添加服务,删除服务,列表服务,
改变启动信息以及检查特定服务的启动状态。

chkconfig 没有参数运行时,显示用法。如果加上服务名,那么就检查这个服务是否在当前运行级启动。如果是,返回 true,否则返回 false。 --level 选项可以指定要查看的运行级而不一定是当前运行级。

如果在服务名后面指定了on,off 或者 reset,那么 chkconfig 会改变指定服务的启动信息。on 和 off 分别指服务在改变运行级时的启动和停止。reset 指初始化
服务信息,无论有问题的初始化脚本指定了什么。

对于 on 和 off 开关,系统默认只对运行级 3,4, 5有效,但是 reset 可以对所有运行级有效。指定 --level 选项时,可以选择特定的运行级。

需要说明的是,对于每个运行级,只能有一个启动脚本或者停止脚本。当切换运行级时,init 不会重新启动已经启动的服务,也不会再次去停止已经停止的服务。
阅读(1421) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~