天天看點

與Linux初始化相關的程序及配置檔案

1、init程序

     Linux系統中的程序使用數字進行标記,每個程序的身份标記号稱為PID。在引導Linux系統的過程中,“/sbin/init”是核心第一個加載的程式,是以init程序對應的PID号永遠為“1”。

     init程序運作以後将陸續執行系統中的其他程式,不斷生成新的程序,這些程序稱為init程序的子程序,反過來說init程序是這些程序的父程序。當然,這些子程序也可以進一步生成各自對的子程序,依次不斷繁衍下去,最終構成一棵枝繁葉茂的程序樹,共同為使用者提供服務。

     init程序正是維持整個Linux系統運作的所有程序的“始祖”,是以init程序是不允許被輕易終止的。需要切換不同的系統運作狀态時,可以配置設定給init程式正确的執行參數,由init自身來完成。

2、inittab配置檔案

     inittab檔案位于“/etc”目錄中,是init程式的配置檔案,init程序運作後将按照該檔案中的配置内容依次啟動系統中需要運作的腳本和程式。

檢視“/etc/inittab”檔案中的有效配置行:

與Linux初始化相關的程式及配置檔案

     在“/etc/inittab”檔案中,除了以“#”号開頭的注釋資訊和空行以外,每一行都視為一條有效配置記錄。每條配置記錄中的四個字段之間使用半角的冒号“:”進行分割,基本格式如下:

id:runlevels:action:process

意思如下:

标記:運作級别:動作類型:程式或腳本

各個字段的作用如下:

【id---标記字段】

标記字段可以由1-4個字元組成,用以差別于其他行的配置。在inittab檔案中每條配置記錄的id标記字段應是唯一的。

【runlevels---運作級别字段】

在Linux系統中,将各種系統服務程式互相組合構成不同的搭配關系,分别滿足不同的系統需求,系統在運作時,采用的每一種服務搭配稱之為“運作級别”。預設的系統運作級别包括七種,其功能和服務各部相同。

0:關機狀态,使用該級别時将會關閉主機。

1:單使用者模式,不需要密碼驗證即可登入系統,多用于系統維護。

2:字元界面的多使用者模式(不支援網絡)。

3:字元界面的完整多使用者模式,大多數伺服器主機的運作在此級别。

4:未配置設定使用。

5:圖形界面的多使用者模式,提供了圖形桌面操作環境。

6:重新啟動,使用該級别時将會重新開機主機。

【action---動作類型字段】

動作類型字段描述了該行配置所對應的操作類别,一般為固定值,較常用的類型如下:

initdefault:設定初始化系統後預設進入的運作級别。

sysinit:設定系統初始化的操作腳本。

wait:init程序将等待該行配置所對應的腳本操作完成後,再繼續執行其他操作。

ctrlaltdel:設定當使用者按下Ctrl+Alt+Delete組合鍵後的操作。

powerokwait:設定當系統收到恢複供電信号時采取何種動作。

respawn:一旦該行配置所對應的程序被終止,則重新啟動該程序。

【process---程式或腳本字段】

此字段用于指定該行配置所對應的實際操作,可以是具體的指令、腳本程式等。

3、rc.sysinit腳本檔案

     rc.sysinit是init程序所調用的系統初始化腳本,位于“/etc/rc.d/rc.sysinit”,這也是在inittab配置檔案中設定好的。rc.sysinit腳本主要完成包括設定網絡、主機名、加載檔案系統、設定時鐘等一系列初始化工作。

4、rc腳本檔案

    rc腳本同樣由init程序進行調用,檔案位于“/etc/rc.d/rc”。rc腳本通過指定不同的級别參數分别加載及終止不同的系統服務,進入到相應的系統運作級别。

     在“/etc/rc.d/rc0.d”---“/etc/rc.d/rc6.d”目錄中,儲存了一些特殊的符号連結檔案。rc腳本根據這些目錄中的連結檔案名及其所連結到的系統服務腳本,進行啟動或終止相關服務程式的操作。

     “/etc/rc.d/rcX.d”目錄中的連結檔案具有共同的規律:檔案名以K或S開頭,中間是數字序号,最後是系統中的服務腳本名;所連結的原始服務腳本檔案位于“/etc/rc.d/init.d”目錄中,其中以S開頭的檔案表示啟動對應的服務,以K開頭的檔案表示終止對應的服務,中間的數字表示在啟動或終止服務時的執行順序。

     位于“/etc/rc.d/init.d”目錄中的各種系統服務腳本,基本上都可以直接執行腳本檔案或通過“service’服務控制工具進行管理,例如,添加“start”、“stop”、“restart”、“status”等參數完成對應服務的啟動、終止、重新開機、查詢狀态等操作。對于系統服務程式,一般建議使用這種方式啟動或終止,而不是使用殺死程序的指令。對處于實際工作環境中的伺服器程式,建議改用“reload”參數重新加載配置,而不是生硬地使用“restart” 重新開機服務,以免造成用戶端通路中斷,帶來不必要的損失。

5、rc.local腳本檔案

     rc.local腳本是一個額外的啟動控制檔案,位于“/etc/rc.d/rc.local”。rc.local腳本通常由rc腳本在最後進行加載,其作用主要是為管理者自行設定啟動指令提供一種途徑。需在再開機後自動執行的一些指令操作,都可以添加到該檔案中。

繼續閱讀