linux的不行發行版之間使用的文件系統不一致,所以致使了linux啓動過程所涉及的一些相關配置文件也各不相同,容易致使混亂。主要是體如今linux的init進程啓動的過程:
Red Hat下相關的配置文件爲:
- /etc/inittab
- /etc/rc.d/rc.sysinit
- /etc/rc.d/rcX.d/ 目錄下的各符號連接
- /etc/rc.d/init.d/ 目錄下的實際守護進程腳本
- /etc/rc.d/rc.local 用戶自定義啓動腳本
Ubuntu下相關的配置文件對應爲:
- /etc/inittab (有的好像沒有這個文件)
- /etc/rcS.d/ 目錄下的啓動服務符號連接
- /etc/rcX.d/ 各運行等級對應的啓動目錄,X:0-6
- /etc/init.d/ 實際的服務啓動腳本
- /etc/rc.local 用戶自定義啓動腳本
下面主要就Ubuntu系統下的配置文件之間的關聯進行一個整理:
- init進程讀取inittab文件,啓動rcS.d目錄下的全部服務,肯定啓動運行級別(initdefault),依據順序中止[K]或啓動[S]對應運行級別rcX.d/目錄下的服務
- rcS.d/rcX.d目錄下的文件均爲init.d目錄下的服務腳本的符號連接,經過標識[K]標明中止,標識[S]標明啓動.
- 三個文件:/etc/init.d/rc /etc/init.d/rc.local /etc/init.d/rcS
rc腳本經過第一個參數肯定具體的服務運行目錄/級別,如rc S 執行rcS.d/下的服務,rc 5 執行rc5.d/下的服務等。 rc.local腳本根據標識執行或中止/etc/rc.local腳本(若是存在),默認/etc/rc.local文件中沒有任何內容,或者有一句 exit 0;能夠在其中添加自定義的啓動程序。 rcS腳本執行rcS.d/下的全部服務:exec /etc/init.d/rc S