Linux啟動程序
Home Up About Lilo

 

你是本篇文章第 位訪客(since 03/09/2005)

  Linux系統的啟動程序

 

Linux的啟動


Linux Runlevel

7 RunLevel
因應不同需求,Linux(UNIX)可以分為七種不同啟動模式,或七種不同執行等級,一般正常使用的系統多開啟為Level 3 或5

Runlevel

代表意義

0 關機
1 單人模式(Single User Mode)
2 多人使用模式,無NFS功能(網路是啟動的)
3 完整多人使用模式
4 unused
5 完整多人使用模式,xdm啟動(圖形Login畫面)
6 重新開機(Reboot)

Run Level的改變
root可以使用inittelinit切換到不同Run Level
init 0 = shutdown -h 
init 6 = reboot

/etc/inittab內容解讀

/etc/inittab內容(Just For RedHAT Linux)

id : 3 : initdefault :
si : : sysinit: /etc/rc.d/rc.sysinit

l0 : 0 : wait: /etc/rc.d/rc 0
l1 : 1 : wait: /etc/rc.d/rc 1
l2 : 2 : wait: /etc/rc.d/rc 2
l3 : 3 : wait: /etc/rc.d/rc 3
l4 : 4 : wait: /etc/rc.d/rc 4
l5 : 5 : wait: /etc/rc.d/rc 5
l6 : 6 : wait: /etc/rc.d/rc 6

ud : : once : /sbin/update
ca : : ctrlaltdel : /sbin/shutdown -t3 -r now
pf : : powerfail :/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"
pr : 12345 : powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"

1 : 2345 : respawn : /sbin/mingetty tty1
2 : 2345 : respawn : /sbin/mingetty tty2
3 : 2345 : respawn : /sbin/mingetty tty3
4 : 2345 : respawn : /sbin/mingetty tty4
5 : 2345 : respawn : /sbin/mingetty tty5
6 : 2345 : respawn : /sbin/mingetty tty6

x : 5 : respawn : /etc/X11/prefdm -nodaemon

/etc/inittab每一行的意義
Format: code:runlevels:action:process

code: 這是每"項目"()的識別碼,他的格式可以是一個字元或兩個字元,某些特殊動作必須搭配特酥識別碼,系統預定的識別碼建議不要更動它。

runlevels:這是這個"項目"()指定的Run Level,他的格式可以是0~6任何數目字元的組合,只要系統目前Run Level符合這個項目指定的層級,則這行的內容會自動生效,這行所指定的Command也將會被執行。
例如:當系統開機至
Run Level 5時,項目『x : 5 : respawn : /etc/X11/prefdm -nodaemon』就會被執行,當系統開機至Run Level 2345時,項目『1 : 2345 : respawn : /sbin/mingetty tty1』都會生效。

action:這個欄位告訴"init"如何處理這個項目,可用選項有:initdefaultwaitrespawn等共15種不同的值,他們所代表的意義請用"man initttab"一窺究竟。

process:要執行的命令與參數。

id : 3 : initdefault :
action "initdefault"告訴 init 將系統開至Run Level 3

si : : sysinit: /etc/rc.d/rc.sysinit
runlevel
欄位空白告訴init不管系統開到哪一個Run Level都要執行這一項目(rc.sysinit)
action "sysinit"
告訴init優先執行這個項目。"sysinit"將忽略runlevel欄位。

 ca : : ctrlaltdel : /sbin/shutdown -t3 -r now
action "ctrlaltdel"
告訴init當系統收到SIGINT(or User同時按下Alt+Ctrl+Del),執行這個項目(/sbin/shutdown -t3 -r now)。如果你不希望你的系統因為有人在Console按下Alt+Ctrl+Del而重新開機時,你可以修改這個項目。

5 : 2345 : respawn : /sbin/mingetty tty5
表示在進入RunLevel 2/3/4/5/6時執行 "/sbin/mingetty tty5 "action "respawn"表示在一個session結束後(Userlogout Console tty5),在執行一次"/sbin/mingetty tty5 ",如果此處不用repawn的話,當User Logout tty5,這個Virtual Terminal將一去不復返,也就是"Alt+F5"將不再發生作用。

 

 

建置及維護者:
國立中興大學 電算中心    吳賢明   woody@nchu.edu.tw
本網頁最近更新時間:2000/06/22 下午 04:37:41