Linux的七个运行级别原理概述
所谓运行级别,简单点来说,运行级别就是操作系统当前正在运行的功能级别。级别是从0到6,具有不同的功能。这些级别定义在/ect/inittab文件中。这个文件是init程序寻找的主要文件,最先运行的服务是那些放在/ect/rc.d目录下的文件。
一、Linux的运行级别:
Linux下的7个运行级别:
0:系统停机状态,系统默认运行级别不能设置为0,否则不能正常启动,机器关闭。 1:单用户工作状态,root权限,用于系统维护,禁止远程登陆,就像Windows下的安全模式登录。 2:多用户状态,没有NFS支持。 3:完整的多用户模式,有NFS,登陆后进入控制台命令行模式。 4:系统未使用,保留一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本电脑的电池用尽时,可以切换到这个模式来做一些设置。 5:X11控制台,登陆后进入图形GUI模式,XWindow系统。 6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动。运行init6机器就会重启。
标准的Linux运行级别为3或5
运行级别原理:
1.在目录/etc/rc.d/init.d下有许多服务器脚本程序,一般称为服务(service) 2.在/etc/rc.d下有7个名为rcN.d的目录,对应系统的7个运行级别 3.rcN.d目录下都是一些符号链接文件,这些链接文件都指向init.d目录下的service脚本文件,命名规则为K+nn+服务名或S+nn+服务名,其中nn为两位数字。 4.系统会根据指定的运行级别进入对应的rcN.d目录,并按照文件名顺序检索目录下的链接文件:对于以K(Kill)开头的文件,系统将终止对应的服;对于以S(Start)开头的文件,系统将启动对应的服务 5.查看运行级别用:runlevel 6.进入其它运行级别用:initN,如果init3则进入终端模式,init5则又登录图形GUI模式 7.另外init0为关机,init6为重启系统
标准的Linux运行级别为3或5,如果是3的话,系统就在多用户状态;如果是5的话,则是运行着XWindow系统。不同的运行级别有不同的用处,也应该根据自己的不同情形来设置。例如,如果丢失了root口令,那么可以让机器启动进入单用户状态来设置。在启动后的lilo提示符下输入:
init=/bin/shrw
这样就可以使机器进入运行级别1,并把root文件系统挂为读写。它会路过所有系统认证,让你使用passwd程序来改变root口令,然后启动到一个新的运行级。
二、chkconfig用法
chkconfig命令可以用来检查、设置系统的各种服务
使用语法:
chkconfig[--add][--del][--list][系统服务]或chkconfig[--level<等级代号>][系统服务][on/off/reset]
参数用法:
--add:增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据。 --del:删除所指定的系统服务,不再由chkconfig指令管理,并同时在系统启动的叙述文件内删除相关数据。 --level<等级代号>:指定读系统服务要在哪一个执行等级中开启或关毕。
使用范例:
chkconfig --list 列出所有的系统服务 chkconfig --add httpd 增加httpd服务 chkconfig --del httpd 删除httpd服务 chkconfig --level httpd 2345 on 把httpd在运行级别为2、3、4、5的情况下都是on(开启)的状态。
chkconfig命令提供了一种简单的方式来设置一个服务的运行级别。例如,为了设置MySQL服务器在运行级别3和4上运行,你必须首先将MySQL添加为受chkconfig管理的服务:
chkconfig --add mysql
现在,我们在级别3和5上设定服务为“on”
chkconfig --level 35 mysql on
在其他级别上设为off
chkconfig --level 01246 mysql off
为了确认你的配置被正确的修改了,我们可以列出服务将会运行的运行级别,如下所示:
#chkconfig --list mysql mysql 0:off 1:off 2:off 3:on 4:off 5:on 6:off
---------------------------------
开机启动也可以在/etc/init.d/ 些脚本,网上搜索下 /etc/init.d/httpd start
加权限 chmod a+x /etc/init.d/nginx
看运行否:ps aux |grep nginx
---------------------------------
linux运行级别
以管理员身份进入Linux,修改文件:/etc/inittab
找到“id:5:initdefault:”其中的5就是X-window,为默认的运行级别
linux启动之后会在一个级别运行,下面列出了这些运行级别:
0 系统停止
1 单用户系统,不需要登陆
2 多用户系统但不支持NFS,命令行模式登陆
3 完整多用户模式,命令行模式登陆
4 未用
5 X11图形模式,图形模式登陆
6 重新启动系统
这些可以在/etc/initab文件中可以看到0-6级的注释,代码段如下:
# Default runlevel. The runlevels used by RHS are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
1.级别 0
系统停止。注意不要把该级别设置为默认模式,否则系统每次启动以后就会自动停止,无法进入。
这个运行级别主要用于关闭任务,在 rc0.d 目录下的各个连接命令都是此级别的命令。在关闭时,这些命令逐个执行。它们将杀掉所有进程、关闭虚拟内存和交换文件、卸载文件系统和交换分区。
关机操作在 DOS 下和 Linux 下截然不同。在 DOS 提示符下,可以很放心地直接关闭电源。但是,在 Linux 下不能这么做。Linux 的文件系统在启动时被装入,在关闭时要被卸载。这种差别正是 Linux 强大功能的前提。
在 Linux 下,要通过输入命令 shutdown 加上参数来关闭、重启计算机或者通过按下热键“Ctrl”+“Alt”+“Del”来重新启动。
2.级别 1
单用户模式。该模式只能许可一个用户从本地计算机上登录 rc1.d 目录下的所有文件与此运行级别相连。此运行级别一般用于系统管理与维护,如:给 Linux 系统升级,安装新软件等等。
在此模式下,只能由管理员进入而其他用户无法登录。因为在启动时,文件系统被加载但是网络却没有被加载,无法通过网络登录。
3.级别 2
多用户模式。用户可以通过网络进行登录。在不支持网络的情况下该模式和模式 3 是相的,rc2.d 目录下所有文件与此级别相连。
4.级别 3
完全多用户模式。这是缺省的运行模式,在此模式下所有网络服务程序一起运行。rc3.d录下的文件与此级别相连。
5.级别 4
未使用模式,rc4.d 目录与此级别相连。这一级别是用户自定义的运行级别,用户可以根需要自己定义。如果想运行此级别的话,必须在 rc3.d 目录下放入连接文件,就像其他rc*.d目录下的文件,并指明是启动还是终止进程。
6.级别 5
在 Linux 下运行 X Window 就是使用这一级别。在此级别下除了因特网的域名服务器的named 与级别 3 不同,其余的都相同。
7.级别 6
这是个重新启动系统的运行级别。rc6.d 目录与此级别相连。既然是重新启动也就是关闭当前系统,但不关闭电源,所以此目录下的连接与级别为 0 的在 rc0.d 下的连接基本相同。不同之处在于,虽然它们都执行 halt(关闭)命令,但是给 halt 传递的参数不一样,因而级别 6 能够重新启动系统。