init配置文件說(shuō)明
Linux 內(nèi)核啟動(dòng)之后,啟動(dòng)的第一個(gè)進(jìn)程就是 init 進(jìn)程。該進(jìn)程從 /etc/inittab 文件中讀取配置,對(duì)系統(tǒng)進(jìn)行一系列的初始化工作。下面我們來(lái)分析一下 /etc/inittab 文件的結(jié)構(gòu)。
本文引用地址:http://www.ex-cimer.com/article/201609/304125.htminittab 文件的每一行的基本格式如下所示:
l3:3:wait:/etc/rc.d/rc 3
可以看到,該行使用冒號(hào)分成了四段。各段的意思如下。
ID
用于標(biāo)識(shí)該配置項(xiàng)的 id,長(zhǎng)度為 1~4 個(gè)字符。
運(yùn)行級(jí)
列出在哪些運(yùn)行級(jí)時(shí)執(zhí)行該配置項(xiàng)的命令。本例表明使用運(yùn)行級(jí) 3 啟動(dòng)系統(tǒng)時(shí)執(zhí)行該條指令。
動(dòng)作
指示該條命令應(yīng)該如何執(zhí)行。本例中動(dòng)作為 wait,表示在這條命令未執(zhí)行完之前不要去執(zhí)行下一條命令。
進(jìn)程
執(zhí)行該項(xiàng)時(shí)需要啟動(dòng)的可執(zhí)行文件名及其參數(shù)。
常見(jiàn)的動(dòng)作如下所示。
initdefault: 該配置項(xiàng)指定系統(tǒng)的默認(rèn)運(yùn)行級(jí)。
respawn: 該配置項(xiàng)所指定的進(jìn)程如果被結(jié)束,則重新啟動(dòng)該進(jìn)程。
wait: 該配置項(xiàng)指定的進(jìn)程在運(yùn)行結(jié)束之前不要執(zhí)行下一條配置項(xiàng)。
once: 切換到對(duì)應(yīng)的運(yùn)行級(jí)之后,僅執(zhí)行指定的進(jìn)程一次。
sysinit: 無(wú)論以什么運(yùn)行級(jí)啟動(dòng),系統(tǒng)啟動(dòng)時(shí)都要執(zhí)行該配置項(xiàng)指定的進(jìn)程。
boot: 僅在系統(tǒng)啟動(dòng)時(shí)執(zhí)行一次。
bootwait: 僅在系統(tǒng)啟動(dòng)時(shí)執(zhí)行一次,在執(zhí)行結(jié)束之前不執(zhí)行下一條配置項(xiàng)
powerfail: 當(dāng)接收到UPS的斷電通知時(shí)執(zhí)行該項(xiàng)指定的進(jìn)程。
powerwait: 與powerfail相同,但init會(huì)等待進(jìn)程執(zhí)行結(jié)束。
powerokwait: 接收到UPS的供電通知時(shí)執(zhí)行。
ctrlaltdel: 當(dāng)用戶(hù)同時(shí)按下 Ctrl+Alt+Del 時(shí)執(zhí)行該項(xiàng)指定的進(jìn)程。
下面我們看看實(shí)際的例子。這是 Fedore Core 3 的 /etc/inittab 文件。刪掉了其中的一些注釋?zhuān)⑦m當(dāng)?shù)貙?duì)每一行增加了解釋。
# 下面用 initdefault 動(dòng)作設(shè)置默認(rèn)的運(yùn)行級(jí)。注意該項(xiàng)沒(méi)有指定進(jìn)程, # 但是最后的分號(hào)不要漏掉 # 0 - 關(guān)機(jī) (不要將此運(yùn)行級(jí)設(shè)為默認(rèn)) # 1 - 單用戶(hù)模式 # 2 - 多用戶(hù),不支持 NFS。若無(wú)網(wǎng)絡(luò)則與 3 相同 # 3 - 完整的多用戶(hù)模式 # 4 - 未使用 # 5 - X11圖形界面 # 6 - 重新啟動(dòng) (不要將此運(yùn)行級(jí)設(shè)為默認(rèn)) # id:5:initdefault: # 系統(tǒng)初始化,包括主機(jī)名設(shè)置、激活交換分區(qū)、檢查根分區(qū)、 # 以讀寫(xiě)方式加載根分區(qū)、加載 /etc/fstab 中的分區(qū)、 # 激活磁盤(pán)配額、加載內(nèi)核模塊等功能 si::sysinit:/etc/rc.d/rc.sysinit # 執(zhí)行 rc 腳本,啟動(dòng)各種系統(tǒng)服務(wù) 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 # 接管 CTRL-ALT-DELETE,按下時(shí)重新啟動(dòng)系統(tǒng) ca::ctrlaltdel:/sbin/shutdown -t3 -r now # 當(dāng) UPS 發(fā)來(lái)斷電通知時(shí),準(zhǔn)備在 2 分鐘之后關(guān)閉系統(tǒng) pf::powerfail:/sbin/shutdown -f -h +2 Power Failure; System Shutting Down # 如果在關(guān)閉系統(tǒng)之前 UPS 恢復(fù)供電,則取消關(guān)閉系統(tǒng) pr:12345:powerokwait:/sbin/shutdown -c Power Restored; Shutdown Cancelled # 在標(biāo)準(zhǔn)運(yùn)行級(jí)時(shí)啟動(dòng)虛擬終端。這里準(zhǔn)備了六個(gè)虛擬終端, # 要想改變虛擬終端的數(shù)目,只需要增刪這里的配置項(xiàng)即可 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 # 運(yùn)行級(jí) 5 的時(shí)候啟動(dòng) X 的登錄管理器 x:5:respawn:/etc/X11/prefdm -nodaemon
評(píng)論