linux系统有运行级别的概念,不同的运行级别就是不同服务的组合,从而完成不同的系统用途。例如,运行级别3会启动httpd,系统提供web server服务;运行级别1会关闭网络服务,系统仅提供基本的使用环境。通过运行级别,用户就可以灵活的控制系统提供的各种服务组合。
本文将介绍linux系统下不同运行级别的差异及使用方法。本文将选取ubuntu12.04发行版做为描述基础。
使用runlevel命令可以显示前次和当前的运行级别,中间使用空格符隔开,如果没有前次运行级别则显示N。例如,系统默认运行级别是2,且用户没有切换过运行级别,那么运行runlevel命令后,系统显示为N 2。如果当前运行级别为2,用户使用init 3切换到运行级别3,那么runlevel命令显示为2 3。
使用init N命令可以切换系统的运行级别N,N的范围是0-6。
linux有0-6个级别,其中各个级别的含义如下:
0:关机。该运行级别用于系统管理员迅速关机。不能为默认的运行级别。
1:单用户模式,也称为维护模式。该运行级别下网络接口、文件共享等服务不能使用。
2:多用户模式。这是debian系统的默认运行级别,字符界面。
3:多用户模式。这是redhat系统的默认运行级别,字符界面。
4:一般不使用该运行级别。
5:多用户模式。提供GUI界面。。
6:重启。该运行级别用于系统管理员重启系统。不能为默认的运行级别。
简单来看,0是关机;6是重启;1是维护模式,提供有限的功能;2是字符界面的debian系统;3是字符界面的redhat系统;4不常用;5是GUI界面的系统。
ubuntu系统下,运行级别2-5提供的服务是一样的,即2-5级别没有差别,所以ubuntu系统下0表示关机,1表示维护模式,2-5表示GUI界面的系统,6表示重启系统。
每个运行级别在/etc下都对应一个rcN.d目录,N的范围是0-6。系统启动时,根据默认的运行级别执行相应rcN.d目录下的服务。为了管理方便,该目录下所有的服务实际是软链接到/etc/init.d目录下相应的脚本文件。由init.d目录下的脚本文件完成服务的启动和关闭功能。
rcN.d目录下文件的格式为:[SK]NNname。S表示启动该服务,K表示关闭该服务;NN表示启动顺序号,最小的数字最先被启动,最大的数字最后被启动。name表示服务名称。
可以在/etc/inittab文件中设置系统默认的运行级别,格式为id:N:initdefault:。例如,设置系统默认运行级别为2,则inittab文件内容为:id:2:initdefault:。
ubuntu系统默认没有/etc/inittab文件,在/etc/init/rc-sysinit.conf文件中指定了默认运行级别。用户可以自己创建/etc/inittab文件,并设置默认运行级别,这样系统优先使用/etc/inittab中指定的默认运行级别。
linux系统为了提供不同的服务组合,引入了运行级别的概念。系统在启动时,根据默认运行级别配置系统的服务组合。合理掌握不同运行级别之间的差异,有利于用户更好的使用系统。
原创作品,如非商业性转载,请注明出处;如商业性转载出版,请与作者联系。