linux运行级别
在老的 Linux 发行版本中,系统运行分成不同的运行级别(run level),不同的级别所启动的服务搭配有所不同。较新的 Linux 发行版本,比如 CentOS 7+,已经将运行级别替换成另一个新的概念—目标(target)。
大家都知道 Windows 有安全模式,它是Windows的最小模式,和普通模式相比,安全模式可以让用户更好地进行系统检测以及错误修复。Linux 的运行级别是个类似的机制,不同的运行级别有不同的作用。
在linux系统中有七中运行级别
- 0:系统停机模式,系统默认运行级别不能设置为0,否则不能正常启动,机器关的
- 1:单用户模式,root权限,用于系统维护,禁止远程登陆,就像Windows下的安全模式登录
- 2:多用户模式,没有NFS和网络支持
- 3:完整的多用户文本模式,有NFS和网络,登陆后进入控制台命令行模式
- 4:系统未使用,保留一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本电脑的电池用尽时,可以切换到这个模式来做一些设置
- 5:图形化模式,登陆后进入图形GUI模式,X Window系统
- 6:重启模式,默认运行级别不能设为6,否则不能正常启动。运行init 6机器就会重启
我们通常用到的是级别 3 和 5,一般服务器不需要安装图形界面,并且需要支持用户远程连接,所以运行级别会选择 3;个人电脑一般需要 GUI,所以会选择运行级别 5。
想查看当前系统的运行级别命令:runlevel
:
[root@localhost ~]# runlevel
N 3
在不同级别间切换运行级可以使用命令:init [运行级别]
比如当前运行在级别 3,是多用户字符界面,想要启动 GUI 图形界面,只需要输入 init 5
。重启也可以执行init 6
。
设置系统启动时的默认运行级别
虽然运行级别可以实时切换,如果想修改系统启动时默认的运行级别,在 CentOS 5 和 6 中也可以修改 /etc/inittab 文件来进行配置。
centos7后不再使用/etc/inittab文件进行默认的启动级别配置,而使用比sysvinit的运行级更为自由的target替代。第3运行级用multi-user.target替代,第5运行级用graphical.target替代。
#设置默认第三启动级别
[root@localhost ~]# systemctl set-default multi-user.target
#设置默认第五启动级别
[root@localhost ~]# systemctl set-default graphical.target
[root@localhost ~]# runlevel
3 5 #表示从3级别切换到了5级别
#查看当前默认的启动级别
[root@localhost ~]# systemctl get-default
graphical.target
[root@localhost ~]# systemctl get-default
multi-user.target
CentOS 7.x 运行级别 TARGET.target 对应表:
init级别 |
systemctl target |
0 |
shutdown.target |
1 |
emergency.target |
2 |
rescure.target |
3 |
multi-user.target |
4 |
无 |
5 |
graphical.target |
6 |
无 |