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