網(wǎng)管入門之Linux服務(wù)器啟動過程詳解----通過/etc/inittab文件進(jìn)行初始化 |
發(fā)布時(shí)間: 2012/8/13 14:05:37 |
(5)通過/etc/inittab文件進(jìn)行初始化
init的工作是根據(jù)/etc/inittab來執(zhí)行相應(yīng)的腳本進(jìn)行系統(tǒng)初始化,如設(shè)置鍵盤、字體, 裝載模塊,設(shè)置網(wǎng)絡(luò),等等。 對于RedhatLinux來說,執(zhí)行的順序?yàn)椋?/p> /etc/rc.d/rc.sysinit # 由init執(zhí)行的第一個(gè)腳本 /etc/rc.d/rc.sysinit主要做在各個(gè)運(yùn)行模式中相同的初始化工作,包括: /etc/rc.d/rcX.d/[KS] 首先終止“K”開頭的服務(wù),然后啟動“S”開頭的服務(wù)。 對每一個(gè)運(yùn)行級別來說,在/etc/rc.d子目錄中都有一個(gè)對應(yīng)的下級目錄。這些運(yùn)行級別的下級子目錄的命名方法是rcX.d,其中的X就是代表運(yùn)行級別的數(shù)字。比如說,運(yùn)行級別3的全部命令腳本程序都保存在/etc/rc.d/rc3.d子目錄中。在各個(gè)運(yùn)行級別的子目錄中,都建立有到/etc/rc.d/init.d子目錄中命令腳本程序的符號鏈接,但是,這些符號鏈接并不使用命令腳本程序在 /etc/rc.d/init.d子目錄中原來的名字。如果命令腳本程序是用來啟動一個(gè)服務(wù)的,其符號鏈接的名字就以字母S打頭;如果命令腳本程序是用來關(guān)閉一個(gè)服務(wù)的,其符號鏈接的名字就以字母K打頭。許多情況下,這些命令腳本程序的執(zhí)行順序都很重要。如果沒有先配置網(wǎng)絡(luò)接口,就沒有辦法使用DNS服務(wù)解析主機(jī)名!為了安排它們的執(zhí)行順序,在字母S或者 K的后面緊跟著一個(gè)兩位數(shù)字,數(shù)值小的在數(shù)值大的前面執(zhí)行。比如:/etc/rc.d/rc3.d/S50inet就會在 /etc/rc.d/rc3.d/S55named之前執(zhí)行。存放在/etc/rc.d/init.d子目錄中的、被符號鏈接上的命令腳本程序是真正的實(shí)干家,是它們完成了啟動或者停止各種服務(wù)的操作過程。當(dāng) /etc/rc.d/rc運(yùn)行通過每個(gè)特定的運(yùn)行級別子目錄的時(shí)候,它會根據(jù)數(shù)字的順序依次調(diào)用各個(gè)命令腳本程序執(zhí)行。它先運(yùn)行以字母K打頭的命令腳本程序,然后再運(yùn)行以字母S打頭的命令腳本程序。對以字母K打頭的命令腳本程序來說,會傳遞Stop參數(shù);類似地對以字母S打頭的命令腳本程序來說,會傳遞 Start參數(shù)。 執(zhí)行/etc/ec.d/rc.local Redhat Linux中的運(yùn)行模式2、3、5都把/etc/rc.d/rc.local做為初始化腳本中的最后一個(gè),所以用戶可以自己在這個(gè)文件中添加一些需要在其他初始化工作之后,登錄之前執(zhí)行的命令。在維護(hù)Linux系統(tǒng)運(yùn)轉(zhuǎn)的日子里,肯定會遇到需要系統(tǒng)管理員對開機(jī)或者關(guān)機(jī)命令腳本進(jìn)行修改的情況。如果所做的修改只在引導(dǎo)開機(jī)的時(shí)候起作用,并且改動不大的話,可以考慮簡單地編輯一下/etc/rc.d/rc.local腳本。這個(gè)命令腳本程序是在引導(dǎo)過程的最后一步被執(zhí)行的。 執(zhí)行 /bin/login 程式 多次為止Linux啟動過程全部結(jié)束。 最后筆者使用圖1解釋全部過程。 圖1 Linux啟動流程 總結(jié):與 Linux 本身非常類似,Linux 的啟動引導(dǎo)過程也非常靈活,可以支持眾多的處理器和硬件平臺。LILO 引導(dǎo)加載程序?qū)σ龑?dǎo)能力進(jìn)行了擴(kuò)充,但是它卻缺少文件系統(tǒng)的感知能力。最新一代的引導(dǎo)加載程序,例如 GRUB將更加靈活。 本文出自:億恩科技【1tcdy.com】 服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |