萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> Linux 運行級init詳解

Linux 運行級init詳解

class="22645"> 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;啟動程序的調整,對於新手來說也是一個大問題,以後的教程中,我們將介紹這方面的知識。
copyright © 萬盛學電腦網 all rights reserved