Linux 運行級與init詳解

Linux 啓動時須要哪些步驟呢?本文將詳細描述不一樣的運行級在啓動中的做用。 對於那些在DOS/Win9x/NT 平臺下的高級用戶而言,Linux 彷佛是一個怪物。沒有config.sys ,沒有 autoexec.bat,具備我的特點的機器配置不知道從何開始。 須要說明的是,不少人認爲Linux 是Unix 的一個克隆,可是,這種說法對於Linux 是不公平的。Linux 比Unix更加開放,功能更強大。咱們應該稱之爲GNU/Linux 。 Linux 啓動時,運行一個叫作init 的程序,而後由它來啓動後面的任務,包括多用戶環境,網絡等。 那麼,到底什麼是運行級呢?簡單的說,運行級就是操做系統當前正在運行的功能級別。這個級別從1 到6 , 具備不一樣的功能。這些級別在/etc/inittab 文件裏指定。這個文件是init 程序尋找的主要文件,最早運行 的服務是那些放在/etc/rc.d 目錄下的文件。 大多數的Linux 發行版本中,啓動腳本位於 /etc/rc.d/init.d。這些腳本 被ln 命令來鏈接到 /etc/rc.d/rcn.d 目錄。(這裏的n 就是運行級0-6) 例如/etc/rc.d/rc2.d 下面的S10network 就是鏈接到/etc/rc.d/init.d下的network 腳本的。 所以,咱們能夠知道,rc2.d 下面的文件就是和運行級2 有關的。 文件開頭的S 表明start 就是啓動服務的意思,後面的數字10 就是啓動的順序。例如,在同一個目錄下, 你還能夠看到 S80postfix 這個文件,80 就是順序在 10 之後,由於沒有啓動網絡的狀況下,啓動postfix 是沒有任何做用的。 再看一下 /etc/rc.d/rc3.d,能夠看到文件S60nfslock,可是這個文件不存在於 /etc/rc.d/rc2.d 目錄下。 NFS 要用到這個文件,通常用在多用戶環境下,因此放在rc3.d 目錄下。 另外,在/etc/rc.d/rc2.d 還能夠看到那些K 開頭的文件,例如 /etc/rc.d/rc2.d/K45named ,K 表明 kill 。 標準的Linux運行級爲3 或者5 ,若是是3 的話,系統就在多用戶狀態。若是是5的話,則是運行着X Window 系統。若是目前正在3或5,而你把運行級下降到2的話,init 就會執行 K45named 腳本。 不一樣的運行級定義以下:(能夠參考Red Hat Linux 裏面的/etc/inittab) # 缺省的運行級,RHS 用到的級別以下: # 0 - 停機(千萬不要把initdefault 設置爲0 ) # 1 - 單用戶模式 # 2 - 多用戶,可是沒有 NFS # 3 - 徹底多用戶模式 # 4 - 沒有用到 # 5 - X11 # 6 - 從新啓動 (千萬不要把initdefault 設置爲6 ) # 對各個運行級的詳細解釋: 0 爲停機,機器關閉。 1 爲單用戶模式,就像Win9x 下的安全模式相似。 2 爲多用戶模式,可是沒有NFS 支持。 3 爲完整的多用戶模式,是標準的運行級。 4 通常不用,在一些特殊狀況下能夠用它來作一些事情。 例如在筆記本電腦的電池用盡時,能夠切換到這個模式來作一些設置。 5 就是 X11 ,進到 X Window 系統了。 6 爲重啓,運行 init 6 機器就會重啓。 不一樣的運行級有不一樣的用處,也應該根據本身的不一樣情形來設置。例如,若是丟失了root 口令,那麼能夠 讓機器啓動進入單用戶狀態來設置。在啓動後的 lilo 提示符下輸入: init=/bin/sh rw 就可使機器進入運行級1 ,並把 root 文件系統掛爲讀寫。他會跳過全部系統認證,讓你使用passwd 程序 來改變root口令,而後啓動到一個新的運行級。 Linux 啓動程序的調整,對於新手來講也是一個大問題,之後的教程中,咱們將介紹這方面的知識。
相關文章
相關標籤/搜索