Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Linux 運行級別 詳解與修改指南

編輯:Linux 教學

詳細解析 Linux init 進程、運行級別定義、/etc/inittab 配置結構、telinit 動態切換級別、Grub/LILO 啟動時指定級別、單用戶模式進入技巧。

什麼是 init

init (PID 1) 是核心啟動後啟動的第一個用戶態進程,負責依運行級別啟動所有服務。核心會在 /sbin/init、/etc/init、/bin/init、/bin/sh 依序尋找,找不到則 kernel panic。

七大標準運行級別

級別名稱說明
0停機系統關機,**不可設為 initdefault**
1單用戶模式維護模式,掛載根分區唯讀,無網路
2多用戶無 NFS多用戶,但不啟動 NFS 服務
3完全多用戶模式標準字元介面運行級別 (伺服器常用)
4保留未使用,可自訂
5X11 圖形介面啟動圖形登入管理器 (桌面常用)
6重啟系統重啟,**不可設為 initdefault**

另有 a、b、c 三個按需運行級別,RedHat 系列未使用。

/etc/inittab 結構解析


id:runlevels:action:process
  • id:1-4 字元唯一標識 (舊版 libc5 僅 2 字元),getty 類需與 tty 號對應。
  • runlevels:適用運行級別集合 (如 123 表 1,2,3 皆執行)。
  • action:respawn(守護重啟)、wait(執行並等待)、once(執行一次)、boot/bootwait(開機執行)、initdefault(預設級別)、sysinit(系統初始化)、ctrlaltdel(三指鍵重啟) 等。
  • process:具體執行命令。

範例:12:2:wait:/etc/init.d/rc 2 → 在級別 2 執行 /etc/init.d/rc 2 並等待結束。

動態切換運行級別


/sbin/telinit 3   # 切換至級別 3 (關閉 X)
/sbin/telinit 5   # 切換至級別 5 (啟動 X)

切換前請儲存圖形介面下的工作,過程中會顯示服務啟動/停止訊息。

開機時指定運行級別

  • LILO:LILO: linux 3
  • GRUB:啟動選單按 e 編輯 kernel 行,末尾加數字:
    kernel /vmlinuz ro root=/dev/hda1 3

進入單用戶模式的乾淨技巧

編輯 kernel 參數:


kernel /vmlinuz-2.6.9-22.EL ro root=/bin/sh

直接啟動 /bin/sh 繞過 init,無任何服務啟動,極乾淨的維護環境。

行為控制

  • ctrlaltdel 在 inittab 中可自訂為忽略、列印訊息或其他腳本。
  • 服務腳本位於 /etc/rc.d/init.d/,透過 ln 連結至 /etc/rc.d/rc[0-6].d/,K 開頭停止、S 開頭啟動,數字決定順序。
Copyright © Windows教程網 All Rights Reserved