在 CentOS 6.x 中,/etc/inittab 配置檔案隻能用來設定系統的預設運作級别。
那麼,什麼是運作級别呢?其實 Linux 是通過運作級别來确定系統啟動時到底啟動哪些服務的。Linux 預設有 7 個運作級别,具體如表 1 所示。
表 1 運作級别
運作級别
含 義
關機
1
單使用者模式,可以想象為 Windows 的安全模式,主要用于系統修複
2
不完全的指令行模式,不含 NFS 服務
3
完全的指令行模式,就是标準字元界面
4
系統保留
5
圖形模式
6
重新啟動
在 Linux 系統中可以使用 runlevel 指令來檢視系統的運作級别,指令如下:
[[email protected] ~]# runlevel
N 3
#N代表在進入這個級别前,上一個級别是什麼;3代表目前級别
在這個指令的結果中,"N 3"中的N代表在進入這個級别前,上一個級别是什麼;3 代表目前級别。"N" 就是 None 的意思,也就是說,系統是開機直接進入 3 運作級别的,沒有上一個運作級别。那如果從圖形界面切換到字元界面,再檢視運作級别,就應該是這樣的:
[[email protected] ~]# runlevel
5 3
#代表由5級别進入3級别
那麼,可以手工改變目前的運作級别嗎?當然可以了,隻需使用 init 指令(注意這不是 init 程序)即可,指令如下:
[[email protected] ~]# init 5
#進入圖形界面,當然要已經安裝了圖形界面才可以
[[email protected] ~]# init 0
#關機
[[email protected] ~]# init 6
#重新啟動
不過要注意,使用 init 指令關機和重新開機并不是太安全,容易造成資料丟失。是以推薦大家使用 shutdown 指令進行關機和重新開機。
系統預設運作級别
知道了運作級别的作用,我們回到系統啟動過程中來。/etc/inittab 配置檔案的功能就是确定系統的預設運作級别,也就是系統開機後會進入那個運作級别。此檔案的内容如下:
[[email protected] ~]#vim /etc/inittab
# inittab is only used by upstart for the default runlevel.
#
# ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# System initialization is started by /etc/init/rcS.conf
#系統會先調用/etc/init/rcS.conf
# Individual runlevels are started by /etc/init/rc.conf
#在調用/etc/init/rc.conf,在不同的運作級别啟動不同的服務
# Ctrl-Alt-Delete is handled by/etc/init/control-alt-delete.conf
#通過這個配置檔案判斷Ctri+Alt+Delete熱啟動鍵是否可用
# Terminal gettys are handled by /etc/init/tty.conf and /etc/init/serial.conf,
# with configuration in /etc/sysconfig/init.
#判斷系統可以啟動的本地終端數量及終端的基本設定(如顔色)
# For information on how to write upstart event handlers, or how
# upstart works, see init(5), init(8), and initctl(8).
#
# Default runlevel. The runlevels used are:
# 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)
#很眼熟吧,就是剛剛的 0~6運作級别的說明
id:3:initdefault:
#這就是系統的預設運作級别,也就是系統開機後直接進入哪個運作級别
注意,這裡的預設運作級别隻能寫 3 或 5,其他的級别要麼是關機重新開機,要麼是保留或單使用者,都不能作為系統預設運作級别。