Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

F.4. SysV Init Runlevel

SysV init runlevel 提供了一個控制標準程序,以便控制讓 init 在一個 runlevel 被啟用時可決定要啟動或停止哪項程式。選用了 SysV init 原因為其操作容易而且比起傳統 BSD 形式,init 程序更為靈活。
SysV init 的配置檔位於 /etc/rc.d/ 目錄中。此目錄中包含了 rcrc.localrc.sysinit 和可選用的 rc.serial scripts,以及下列其它目錄:
init.d/ rc0.d/ rc1.d/ rc2.d/ rc3.d/ rc4.d/ rc5.d/ rc6.d/
init.d/ 目錄包含了當控制服務時,/sbin/init 指令所使用的 script。各個已編號的目錄都代表了六個在 Red Hat Enterprise Linux 中,由預設值所配置的 runlevel。

F.4.1. Runlevels

SysV init runlevel 的概念環繞在一個不同的系統可能有不同的方式這個觀點上。例如,一個伺服器能夠在 X 視窗系統下不拖延使用系統資源,並有效率地執行。或是有時候,系統管理員會需要在較低的 runlevel 系統下進行作業,以執行檢測工作項目,例如在 runlevel 1 中修復磁碟毀損。
Runlevel 的特性在於 init 可決定該停止和啟用哪個服務項目。比方說,runlevel 1(單機使用者模式)會停用所有網路服務項目,而 runlevel 3 卻會啟動這些網路服務項目。透過在一個特定的 runlevel 上指定停止或啟用特定服務項目,init 能快速地更換機器的模式,而不需要使用者手動式地停止或啟動服務項目。
以下 runlevel 在 Red Hat Enterprise Linux 下定義為預設值:
  • 0 — 停止
  • 1 — 單機使用者文字模式
  • 2 — 尚未使用(使用者定義)
  • 3 — 完整多機使用者文字模式
  • 4 — 尚未使用(使用者定義)
  • 5 — 完整多機使用者圖形模式(含有基於 X 的登入畫面)
  • 6 — 重新啟動
就基本而言,使用者會在 runlevel 3 或 5 之下操作 Red Hat Enterprise Linux — 兩者皆為完整多機使用者模式。因為 runlevel 2 和 4 尚未被使用,因此使用者有時可依照需求自訂 runlevel 2 和 4。
系統的預設 runlevel 列在 /etc/inittab 中。欲找出系統的預設 runlevel,請搜尋位於 /etc/inittab 下方附近,與下列類似的一行:
id:5:initdefault:
在此範例中的預設 runlevel 是 5,如第一個冒號後面所示。若要更改它,請以 root 身份編輯 /etc/inittab

警告

在編輯 /etc/inittab 時請特別注意。即使是些微的錯字也會造成系統無法啟動。如果上述情況發生,請使用開機光碟進入單機使用者模式,或進入救援模式來啟動電腦並修復該檔案。
欲取得更多有關於單機使用者和救援模式的相關訊,請參閱〈章 36, 基本系統復原〉章節。
您可以在開機時藉由 kernel 的開機載入程式修改引數來更改預設的 runlevel。欲取得更多有關於在開機時更改 runlevel 上的相關資訊,請參照 節 E.9, “在開機時更換執行層級”