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


所謂運行級別,簡單點來說,運行級別就是操作系統當前正在運行的功能級別。級別是從0到6,具有不同的功能。這些級別定義在/ect/inittab文件中。這個文件是init程序尋找的主要文件,最先運行的服務是那些放在/ect/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
mysql 0:off 1:off 2:off 3:on 4:off 5:on 6:off

---------------------------------

開機啟動也可以在/etc/init.d/ 些腳本,網上搜索下 /etc/init.d/httpd start

加權限 chmod a+x /etc/init.d/nginx

看運行否:ps aux |grep nginx

---------------------------------

linux運行級別

以管理員身份進入Linux,修改文件:/etc/inittab

找到“id:5:initdefault:”其中的5就是X-window,為默認的運行級別

linux啟動之后會在一個級別運行,下面列出了這些運行級別:

0 系統停止

1 單用戶系統,不需要登陸

2 多用戶系統但不支持NFS,命令行模式登陸

3 完整多用戶模式,命令行模式登陸

4 未用

5 X11圖形模式,圖形模式登陸

6 重新啟動系統

這些可以在/etc/initab文件中可以看到0-6級的注釋,代碼段如下:

# Default runlevel. The runlevels used by RHS are:

#   0 - halt (Do NOT set initdefault to this)

#   1 - Single user mode

#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)

#   3 - Full multiuser mode

#   4 - unused

#   5 - X11

#   6 - reboot (Do NOT set initdefault to this)

1.級別 0

  系統停止。注意不要把該級別設置為默認模式,否則系統每次啟動以后就會自動停止,無法進入。

這個運行級別主要用於關閉任務,在 rc0.d 目錄下的各個連接命令都是此級別的命令。在關閉時,這些命令逐個執行。它們將殺掉所有進程、關閉虛擬內存和交換文件、卸載文件系統和交換分區。

關機操作在 DOS 下和 Linux 下截然不同。在 DOS 提示符下,可以很放心地直接關閉電源。但是,在 Linux 下不能這么做。Linux 的文件系統在啟動時被裝入,在關閉時要被卸載。這種差別正是 Linux 強大功能的前提。

在 Linux 下,要通過輸入命令 shutdown 加上參數來關閉、重啟計算機或者通過按下熱鍵“Ctrl”+“Alt”+“Del”來重新啟動。

2.級別 1

單用戶模式。該模式只能許可一個用戶從本地計算機上登錄 rc1.d 目錄下的所有文件與此運行級別相連。此運行級別一般用於系統管理與維護,如:給 Linux 系統升級,安裝新軟件等等。

在此模式下,只能由管理員進入而其他用戶無法登錄。因為在啟動時,文件系統被加載但是網絡卻沒有被加載,無法通過網絡登錄。

3.級別 2

多用戶模式。用戶可以通過網絡進行登錄。在不支持網絡的情況下該模式和模式 3 是相的,rc2.d 目錄下所有文件與此級別相連。

4.級別 3

完全多用戶模式。這是缺省的運行模式,在此模式下所有網絡服務程序一起運行。rc3.d錄下的文件與此級別相連。

5.級別 4

未使用模式,rc4.d 目錄與此級別相連。這一級別是用戶自定義的運行級別,用戶可以根需要自己定義。如果想運行此級別的話,必須在 rc3.d 目錄下放入連接文件,就像其他rc*.d目錄下的文件,並指明是啟動還是終止進程。

6.級別 5

在 Linux 下運行 X  Window 就是使用這一級別。在此級別下除了因特網的域名服務器的named 與級別 3 不同,其余的都相同。

7.級別 6

這是個重新啟動系統的運行級別。rc6.d 目錄與此級別相連。既然是重新啟動也就是關閉當前系統,但不關閉電源,所以此目錄下的連接與級別為 0 的在 rc0.d 下的連接基本相同。不同之處在於,雖然它們都執行 halt(關閉)命令,但是給 halt 傳遞的參數不一樣,因而級別 6 能夠重新啟動系統。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM