runlevel简介
运行级别的概念是linux操作系统中产生的,在windows中并没有此概念。
- runlevel0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动。在其他模式下更改到此模式,所有进程将被终止,机器将有序的停止,状态变为关机状态。
- runlevel1:单用户模式,root权限,用于系统维护,禁止远程登陆。
- runlevel2:多用户模式,和运行级别3一样,只是网络问卷系统(NFS)服务没有启动。
- runlevel3:完全的多用户模式(有NFS)。登陆后进入控制台命令行模式(字符界面的正常模式)。
- runlevel4:系统未使用,留给用户自定义的运行级别,保留。
- runlevel5:多用户模式,并且在系统启动后运行X-windows,登陆后进入图形GUI模式(图形界面的正常模式)。
- runlevel6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动。
系统默认的运行级别是3或5,不能是0和6。
centos6以及之前版本
查看运行级别runlevel
[root@localhost /]# runlevel
N 5
[root@localhost /]#
临时切换运行级别init 级别号
[root@localhost /]# init 3
[root@localhost /]# runlevel
5 3
[root@localhost /]#
再次查看运行级别,你会看到刚刚的运行级别,和现在当前的运行级别(不过这个方法重启之后,就恢复了)。
除此之外,如果您的Linux安装了图形界面(init5 级别需要安装X-WINDOWS),可以输入startx 直接进入init5 图形模式:
[root@localhost /]# startx
[root@localhost /]# runlevel
3 5
[root@localhost /]#
修改系统默认运行级别
刚刚输入init级别号,只是临时更改。如果需要修改系统默认的运行级别,可以用VI编辑/etc/inittab文件设置。如下面id:5:initdefault
的5就是默认的运行级别,改好之后,重启Linux系统之后生效。
...
id:5:initdefault
...
centos7以及之后版本
运行级别对应表
init级别 | systemctl target |
---|---|
0 | shutdown.target |
1 | emergency.target |
2 | rescure.target |
3 | multi-user.target |
4 | 无 |
5 | graphical.target |
6 | 无 |
设置运行级别
命令格式
systemctl [command] [unit.target]
command详解:
- get-default :取得当前的target
- set-default :设置指定的target为默认的运行级别
- isolate :切换到指定的运行级别
- unit.target :为5.1表中列出的运行级别
systemctl命令 | 命令说明 |
---|---|
systemctl get-default | 获得当前的运行级别 |
systemctl set-default multi-user.target | 设置默认的运行级别为mulit-user |
systemctl isolate multi-user.target | 在不重启的情况下,切换到运行级别mulit-user下 |
systemctl isolate graphical.target | 在不重启的情况下,切换到图形界面下 |
注:该表前两行是设置默认运行级别,后两行是设置当前运行级别。
centos7系统演示
centos8运行级别切换和默认运行级别设置
- 查看默认运行级别
systemctl get-clefault
- 切换到字符界面
systemctl isolate multi-user.target
- 切换到 图形化界面
systemctl isolate graphical.target
- 设置默认运行级别 3 为 字符
systemctl set-default multi-user.target
- 设置默认运行级别 5 为 图形化
systemctl set-default graphical.target