码迷,mamicode.com
首页 > 系统相关 > 详细

linux的运行级别介绍

时间:2015-09-27 18:53:01      阅读:275      评论:0      收藏:0      [点我收藏+]

标签:运行级别   管理员   linux   操作系统   

    linux的运行级别,指的是linux所工作的模式。linux有0-6这7种运行级别,分别代表着linux可以工作的7种模式,下面分别介绍这7个模式所的意义

0     关机,当运行级别为0的时候,表示关机状态

1     单用户模式,这个工作模式下的linux主机只允许root用户且必须在本地(注意是本地,不能网络远程登 录)登录,其他用户不能登录。这个模式主要用于管理员维护,类似于windows的安全模式。这个模式在忘记root密码很有用,可以以这个模式进入系统,修改重置root密码。

2    多用户模式,可以允许任何用户本地和远程登录,但是不支持nfs

3    多用户模式,和模式2的主要区别是,模式3可以支持nfs

4    保留,无具体实际用途

5    图形化模式,以模式5运行的系统,将会支持图形化的桌面(如果安装过)

6    重启模式,当linux操作系统进入这个模式后,会重新启动,你也可以将linux的默认运行级别改为6,这个时候你的主机会进入不断的重启状态。


      上面描诉了linux的7种运行级别,不熟悉的人可能会问。我一个系统开机运行后到底是运行在哪一个级别了?针对这个问题,可以很直接的得出结论,肯定不是级别0,级别6,因为如果工作在级别0,那你的系统直接就关机了,级别6你的系统也会重启。


runlevel命令:查看系统当前运行级别,下图表示系统现在运行在级别3

#runlevel
 N 3

系统启动时候的默认运行级别,记录在文件,红色部分为系统默认的启动级别,可以修改id的值修改默认启动模式。

#cat    /etc/inittab
#   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)
#
:

linux主机划分为7个级别,我们可以分别定义这七个级别可以运行/停止什么服务或者软件(级别0,6除外,因为这两个级别直接就关闭或者重启系统了,相关的软件或者服务就没有运行的环境了),下面就详细描诉如何定义不同的级别运行不同的服务和软件。


在linux主机上面,有一个目录,

/etc/rc.d/init.d/

这个目录里面有很多linux风格的服务管理脚本,这些脚本管理着系统上面的相关服务。我们平时管理服务的使用[/etc/init.d/XXX   status|stop|restart|..... ]等命令都是调用的这个目录下面的相关的脚本,因为/etc/init.d这个目录其实是一个链接文件,指向了

/etc/rc.d/init.d/
#ls  /etc/rc.d/init.d/
abrt-ccpp  ali-system-wide-profiling_agent  cgconfig  DragoonAgent  http_status            iptables    libvirt-guests

#ll   init.d
lrwxrwxrwx 1 root root 11 Mar 21  2014 init.d -> rc.d/init.d

linux运行在某一个级别下的时候,是怎么知道要运行哪一些服务了?其实要想在某一个模式下运行或者停止某一个服务,只需要在对应的/etc/rc.d/rc(x).d/目录下创建一个这个服务的特殊名字的软链接。其中x为对应的级别,至于这个软链接是如何特殊,下面再仔细讲。linux有7个运行模式,那么在/etc./rc.d下面就应该有7个对应目录,用于存放对应的需要管理的服务或者软件。

#ls

init.d  rc  rc0.d  rc1.d  rc2.d  rc3.d  rc4.d  rc5.d  rc6.d

反过来思考,以/etc/rc.d/rc3.d/为例,这个目录下面就应该是级别3这个模式下的所有默认管理的软件,打开这个目录

#ll  /etc/rc.d/rc3.d/
total 0
lrwxrwxrwx 1 root root 17 Mar 21  2014 K00ipmievd -> ../init.d/ipmievd
lrwxrwxrwx 1 root root 24 Mar 21  2014 K01libvirt-guests -> ../init.d/libvirt-guests
lrwxrwxrwx 1 root root 16 Mar 21  2014 K01smartd -> ../init.d/smartd
lrwxrwxrwx 1 root root 22 Mar 21  2014 K02avahi-daemon -> ../init.d/avahi-daemon
lrwxrwxrwx 1 root root 14 Mar 21  2014 S55sshd -> ../init.d/sshd
lrwxrwxrwx 1 root root 14 Jan 28  2015 S58ntpd -> ../init.d/ntpd

我们发现某个运行级别是否运行某个服务或者软件,确实需要讲软件的启动管理脚本链接到这个模式对用的路径下来。下面我们说明系统时怎么样管理软件是否启动,还是以上图模式3为例子说明,上图表示当系统以模式3运行的时候,需要管理的相关软件服务情况。我们观察一下对应的服务管理脚本软链后的文件名称:

K10saslauthd

S85nginx

k表示这个运行模式下,杀死这个服务,

s表示这个运行模式下,运行这个服务

k和s后面的两个数字表示系统启动的时候的运行顺序,顺序小的需要先执行。


在系统启动的时候,系统首先会判断要工作的模式(在/etc/inittab里 去读取运行模式,然后会去对应的rc.d里去获取需要启动或者停止的服务)


如何切换linux的运行级别?

直接运行init  x   x为对应的级别。



本文出自 “千叶归来” 博客,请务必保留此出处http://qianhe.blog.51cto.com/8327382/1698572

linux的运行级别介绍

标签:运行级别   管理员   linux   操作系统   

原文地址:http://qianhe.blog.51cto.com/8327382/1698572

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!