Linux的七個(gè)運(yùn)行級(jí)別原理概述
所謂運(yùn)行級(jí)別,簡(jiǎn)單點(diǎn)來(lái)說(shuō),運(yùn)行級(jí)別就是操作系統(tǒng)當(dāng)前正在運(yùn)行的功能級(jí)別。級(jí)別是從0到6,具有不同的功能。這些級(jí)別定義在/ect/inittab文件中。這個(gè)文件是init程序?qū)ふ业闹饕募?**運(yùn)行的服務(wù)是那些放在/ect/rc.d目錄下的文件。
一、Linux的運(yùn)行級(jí)別:
Linux下的7個(gè)運(yùn)行級(jí)別:
0:系統(tǒng)停機(jī)狀態(tài),系統(tǒng)默認(rèn)運(yùn)行級(jí)別不能設(shè)置為0,否則不能正常啟動(dòng),機(jī)器關(guān)閉。 1:單用戶工作狀態(tài),root權(quán)限,用于系統(tǒng)維護(hù),禁止遠(yuǎn)程登陸,就像Windows下的安全模式登錄。 2:多用戶狀態(tài),沒(méi)有NFS支持。 3:完整的多用戶模式,有NFS,登陸后進(jìn)入控制臺(tái)命令行模式。 4:系統(tǒng)未使用,保留一般不用,在一些特殊情況下可以用它來(lái)做一些事情。例如在筆記本電腦的電池用盡時(shí),可以切換到這個(gè)模式來(lái)做一些設(shè)置。 5:X11控制臺(tái),登陸后進(jìn)入圖形GUI模式,XWindow系統(tǒng)。 6:系統(tǒng)正常關(guān)閉并重啟,默認(rèn)運(yùn)行級(jí)別不能設(shè)為6,否則不能正常啟動(dòng)。運(yùn)行init6機(jī)器就會(huì)重啟。
標(biāo)準(zhǔn)的Linux運(yùn)行級(jí)別為3或5
運(yùn)行級(jí)別原理:
1.在目錄/etc/rc.d/init.d下有許多服務(wù)器腳本程序,一般稱為服務(wù)(service) 2.在/etc/rc.d下有7個(gè)名為rcN.d的目錄,對(duì)應(yīng)系統(tǒng)的7個(gè)運(yùn)行級(jí)別 3.rcN.d目錄下都是一些符號(hào)鏈接文件,這些鏈接文件都指向init.d目錄下的service腳本文件,命名規(guī)則為K+nn+服務(wù)名或S+nn+服務(wù)名,其中nn為兩位數(shù)字。 4.系統(tǒng)會(huì)根據(jù)指定的運(yùn)行級(jí)別進(jìn)入對(duì)應(yīng)的rcN.d目錄,并按照文件名順序檢索目錄下的鏈接文件:對(duì)于以K(Kill)開(kāi)頭的文件,系統(tǒng)將終止對(duì)應(yīng)的服;對(duì)于以S(Start)開(kāi)頭的文件,系統(tǒng)將啟動(dòng)對(duì)應(yīng)的服務(wù) 5.查看運(yùn)行級(jí)別用:runlevel 6.進(jìn)入其它運(yùn)行級(jí)別用:initN,如果init3則進(jìn)入終端模式,init5則又登錄圖形GUI模式 7.另外init0為關(guān)機(jī),init6為重啟系統(tǒng)
標(biāo)準(zhǔn)的Linux運(yùn)行級(jí)別為3或5,如果是3的話,系統(tǒng)就在多用戶狀態(tài);如果是5的話,則是運(yùn)行著XWindow系統(tǒng)。不同的運(yùn)行級(jí)別有不同的用處,也應(yīng)該根據(jù)自己的不同情形來(lái)設(shè)置。例如,如果丟失了root口令,那么可以讓機(jī)器啟動(dòng)進(jìn)入單用戶狀態(tài)來(lái)設(shè)置。在啟動(dòng)后的lilo提示符下輸入:
init=/bin/shrw
這樣就可以使機(jī)器進(jìn)入運(yùn)行級(jí)別1,并把root文件系統(tǒng)掛為讀寫(xiě)。它會(huì)路過(guò)所有系統(tǒng)認(rèn)證,讓你使用passwd程序來(lái)改變r(jià)oot口令,然后啟動(dòng)到一個(gè)新的運(yùn)行級(jí)。
二、chkconfig用法
chkconfig命令可以用來(lái)檢查、設(shè)置系統(tǒng)的各種服務(wù)
使用語(yǔ)法:
chkconfig[--add][--del][--list][系統(tǒng)服務(wù)]或chkconfig[--level<等級(jí)代號(hào)>][系統(tǒng)服務(wù)][on/off/reset]
參數(shù)用法:
--add:增加所指定的系統(tǒng)服務(wù),讓chkconfig指令得以管理它,并同時(shí)在系統(tǒng)啟動(dòng)的敘述文件內(nèi)增加相關(guān)數(shù)據(jù)。 --del:刪除所指定的系統(tǒng)服務(wù),不再由chkconfig指令管理,并同時(shí)在系統(tǒng)啟動(dòng)的敘述文件內(nèi)刪除相關(guān)數(shù)據(jù)。 --level<等級(jí)代號(hào)>:指定讀系統(tǒng)服務(wù)要在哪一個(gè)執(zhí)行等級(jí)中開(kāi)啟或關(guān)畢。
使用范例:
chkconfig --list 列出所有的系統(tǒng)服務(wù) chkconfig --add httpd 增加httpd服務(wù) chkconfig --del httpd 刪除httpd服務(wù) chkconfig --level httpd 2345 on 把httpd在運(yùn)行級(jí)別為2、3、4、5的情況下都是on(開(kāi)啟)的狀態(tài)。
chkconfig命令提供了一種簡(jiǎn)單的方式來(lái)設(shè)置一個(gè)服務(wù)的運(yùn)行級(jí)別。例如,為了設(shè)置MySQL服務(wù)器在運(yùn)行級(jí)別3和4上運(yùn)行,你必須首先將MySQL添加為受chkconfig管理的服務(wù):
chkconfig --add mysql
現(xiàn)在,我們?cè)诩?jí)別3和5上設(shè)定服務(wù)為“on”
chkconfig --level 35 mysql on
在其他級(jí)別上設(shè)為off
chkconfig --level 01246 mysql off
為了確認(rèn)你的配置被正確的修改了,我們可以列出服務(wù)將會(huì)運(yùn)行的運(yùn)行級(jí)別,如下所示:
#chkconfig --list mysql mysql 0:off 1:off 2:off 3:on 4:off 5:on 6:off
原文:http://blog.csdn.net/MONKEY_D_MENG/archive/2010/05/10/5573580.aspx
【編輯推薦】