Slackware的啟動(init)過程(轉)

amyz發表於2007-08-10
Slackware的啟動(init)過程(轉)[@more@]

  

導言

  在一次IBM於阿姆斯特丹舉辦的Linux研討會上,一位老師提出以下說法:“啟動是Linux最難的部分。但是,一旦核心已經載入,並由init接管之後,你就暢行無阻了。從那個時刻起,所有發生的事情你都可以在指令碼和文件(man page)裡面讀到。”

  他當然是對的。在啟動Linux機器的過程中沒有什麼秘密。你能在ASCII檔案中讀到所有東西。但是,在跟蹤這些指令碼的過程中也很容易迷路。Slackware與別的發行版不同之處在於它堅持用BSD風格的啟動過程,而不是像它們那樣用Sys V的啟動過程。

  在Sys V的啟動系統中,所有起動/停止的指令碼都放在 /etc/rc.d目錄中。在每一個執行級(runlevel)都有一個目錄(即 /etc/rc.1, /etc/rc.2 等等),其中全是該執行級所需執行指令碼的連結。當進入一個執行級時,有一個大的指令碼來處理這些連結以起動(或停止)該執行級的服務。

  Sys V啟動過程用在Redhat、Suse中,我將把解釋它的事留給用這類系統的人。沒有實際使用它的機器,我恐怕很快會在細節上暈頭轉向。

  Slackware的使用者(Slackers)多數認為Sys V啟動過程既複雜又難於維護。老實說,Redhat和Suse使用者的想法正好相反。不過,先跟著我,然後你自己作出判斷。

  在本文件中,我將試著證明IBM的老師是正確的。我將循著Slackware(8.1)的啟動過程,用指令碼和man page作為指導。會引用很多,而較少(我自己的)文字。

  又及:你可能注意到,英語不是我的母語。我會盡量經常地用拼寫檢查程式,但它在語法方面的用處不大。無論在內容或語法方面的錯誤,請不吝賜教。此外,我非常喜歡大家對我寫的東西提出看法。

執行級(runlevel)

  我們會很多次談到執行級,所以現在是個好機會來解釋一下執行級。執行級是決定某機器的服務等級的*nix方式。在每個執行級中,人們可以定義哪些服務要啟用、哪些不用。原則上,可以有很多執行級。實際上,只有5個:

  • 單使用者執行級,只有最少的服務在執行。這個執行級經常用於系統維護。
  • 多使用者執行級,所有提供的服務都在執行。這些服務可能是諸如HTTP伺服器、電子郵件伺服器、SQL伺服器之類。正是系統管理員(你)所需要的。
  • 多使用者執行級,和前面一樣,但這次有個圖形介面的登陸管理器。

      多使用者執行級之一就是機器正常的執行狀態。你可以決定另外的執行級。例如,用於遠端維護的有網路支援的單使用者執行級。

  上述執行級之外,還有兩個特殊的執行級:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-941360/,如需轉載,請註明出處,否則將追究法律責任。

相關文章