Linux的七個執行級別原理概述

chenfeng發表於2016-05-17
所謂執行級別,簡單點來說,執行級別就是作業系統當前正在執行的功能級別。級別是從0到6,具有不同的功能。這些級別定義在/etc/inittab檔案中。這個檔案是init程式尋找的主要檔案,最先執行的服務是那些放在/etc/rc.d目錄下的檔案。
一、Linux的執行級別:
Linux下的7個執行級別:
0:系統停機狀態,系統預設執行級別不能設定為0,否則不能正常啟動,機器關閉。
1:單使用者工作狀態,root許可權,用於系統維護,禁止遠端登陸,就像Windows下的安全模式登入。
2:多使用者狀態,沒有NFS支援。
3:完整的多使用者模式,有NFS,登陸後進入控制檯命令列模式。
4:系統未使用,保留一般不用,在一些特殊情況下可以用它來做一些事情。例如在膝上型電腦的電池用盡時,可以切換到這個模式來做一些設定。
5:X11控制檯,登陸後進入圖形GUI模式,XWindow系統。
6:系統正常關閉並重啟,預設執行級別不能設為6,否則不能正常啟動。執行init6機器就會重啟。標準的Linux執行級別為3或5
執行級別原理:
1.在目錄/etc/rc.d/init.d下有許多伺服器指令碼程式,一般稱為服務(service)
2.在/etc/rc.d下有7個名為rcN.d的目錄,對應系統的7個執行級別
3.rcN.d目錄下都是一些符號連結檔案,這些連結檔案都指向init.d目錄下的service指令碼檔案,命名規則為K+nn+服務名或S+nn+服務名,其中nn為兩位數字。
4.系統會根據指定的執行級別進入對應的rcN.d目錄,並按照檔名順序檢索目錄下的連結檔案:對於以K(Kill)開頭的檔案,系統將終止對應的服;對於以S(Start)開頭的檔案,系統將啟動對應的服務
5.檢視執行級別用:runlevel
6.進入其它執行級別用:initN,如果init3則進入終端模式,init5則又登入圖形GUI模式
7.另外init0為關機,init6為重啟系統標準的Linux執行級別為3或5,如果是3的話,系統就在多使用者狀態;如果是5的話,則是執行著XWindow系統。不同的執行級別有不同的用處,也應該根據自己的不同情形來設定。例如,如果丟失了root口令,那麼可以讓機器啟動進入單使用者狀態來設定。在啟動後的lilo提示符下輸入:
init=/bin/shrw
這樣就可以使機器進入執行級別1,並把root檔案系統掛為讀寫。它會路過所有系統認證,讓你使用passwd程式來改變root口令,然後啟動到一個新的執行級。
二、chkconfig用法
chkconfig命令可以用來檢查、設定系統的各種服務
使用語法:
chkconfig[--add][--del][--list][系統服務]或chkconfig[--level<等級代號>][系統服務][on/off/reset]
引數用法:
--add:增加所指定的系統服務,讓chkconfig指令得以管理它,並同時在系統啟動的敘述檔案內增加相關資料。
--del:刪除所指定的系統服務,不再由chkconfig指令管理,並同時在系統啟動的敘述檔案內刪除相關資料。
--level<等級代號>:指定讀系統服務要在哪一個執行等級中開啟或關畢。使用範例:
chkconfig --list 列出所有的系統服務
chkconfig --add httpd 增加httpd服務
chkconfig --del httpd 刪除httpd服務
chkconfig --level httpd 2345 on 把httpd在執行級別為2、3、4、5的情況下都是on(開啟)的狀態。chkconfig命令提供了一種簡單的方式來設定一個服務的執行級別。例如,為了設定MySQL伺服器在執行級別3和4上執行,你必須首先將MySQL新增為受chkconfig管理的服務:
chkconfig --add mysql
現在,我們在級別3和5上設定服務為“on”
chkconfig --level 35 mysql on在其他級別上設為off
chkconfig --level 01246 mysql off為了確認你的配置被正確的修改了,我們可以列出服務將會執行的執行級別,如下所示:
#chkconfig --list mysql

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

相關文章