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主机上面,有一个目录,

1
/etc/rc.d/init.d/

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

1
/etc/rc . d/init . d/
1
2
3
4
5
#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这个模式下的所有默认管理的软件,打开这个目录

1
2
3
4
5
6
7
8
#ll  /etc/rc.d/rc 3 .d/
total  0
lrwxrwxrwx  1  root root  17  Mar  21   2014  K 00 ipmievd -> ../init.d/ipmievd
lrwxrwxrwx  1  root root  24  Mar  21   2014  K 01 libvirt-guests -> ../init.d/libvirt-guests
lrwxrwxrwx  1  root root  16  Mar  21   2014  K 01 smartd -> ../init.d/smartd
lrwxrwxrwx  1  root root  22  Mar  21   2014  K 02 avahi-daemon -> ../init.d/avahi-daemon
lrwxrwxrwx  1  root root  14  Mar  21   2014  S 55 sshd -> ../init.d/sshd
lrwxrwxrwx  1  root root  14  Jan  28   2015  S 58 ntpd -> ../init.d/ntpd

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

K10saslauthd

S85nginx

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

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

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


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


如何切换linux的运行级别?

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值