Linux的運行級別和設置開機啟動服務的方式


Linux的運行級別

什么是運行級別呢?簡單點來說,運行級別就是操作系統當前正在運行的功能級別。級別是從0到6,具有不同的功能。這些級別定義在/ect/inittab文件中。這個文件是init程序尋找的主要文件,最先運行的服務是那些放在/ect/rc.d目錄下的文件。

Linux的7個運行級別

級別 描述
0 系統停機狀態,系統默認運行級別不能設置為0,否則不能正常啟動,機器關閉
1 單用戶工作狀態,root權限,用於系統維護,禁止遠程登陸,就像Windows下的安全模式登錄
2 多用戶狀態,沒有NFS支持
3 完整的多用戶模式,有NFS,登陸后進入控制台命令行模式
4 系統未使用,保留一般不用,在一些特殊情況下可以用它來做一些事情。例如在筆記本電腦的電池用盡時,可以切換到這個模式來做一些設置
5 X11控制台,登陸后進入圖形GUI模式,X Window系統
6 系統正常關閉並重啟,默認運行級別不能設為6,否則不能正常啟動。運行init 6機器就會重啟

運行級別原理:

  • 在目錄/etc/rc.d/init.d下有許多服務器腳本程序,一般稱為服務(service)
  • 在/etc/rc.d下有7個名為rcN.d的目錄,對應系統的7個運行級別
  • rcN.d目錄下都是一些符號鏈接文件,這些鏈接文件都指向init.d目錄下的service腳本文件,命名規則為K+nn+服務名或S+nn+服務名,其中nn為兩位數字。
  • 系統會根據指定的運行級別進入對應的rcN.d目錄,並按照文件名順序檢索目錄下的鏈接文件:對於以K開頭的文件,系統將終止對應的服; 對於以S開頭的文件,系統將啟動對應的服務
  • 查看運行級別用:runlevel
  • 進入其它運行級別用:init N,如果init 3則進入終端模式,init 5則又登錄圖形GUI模式
  • 另外init0為關機,init 6為重啟系統

標准的Linux運行級別為3或5,如果是3的話,系統就在多用戶狀態;如果是5的話,則是運行着X Window系統。
不同的運行級別有不同的用處,也應該根據自己的不同情形來設置。例如,如果丟失了root口令,那么可以讓機器啟動進入單用戶狀態來設置。在啟動后的命令提示符下輸入:
init=/bin/sh rw
這樣就可以使機器進入運行級別1,並把root文件系統掛為讀寫。它會路過所有系統認證,讓你使用passwd程序來改變root口令,然后啟動到一個新的運行級。

設置開機啟動服務

使用chkconfig設置

  • 將啟動文件cp到 /etc/init.d/或者/etc/rc.d/init.d/(前者是后者的軟連接)下

  • 用文本編輯器如 vi 打開文件,文件前面務必添加如下三行代碼,否側會提示chkconfig不支持

!/bin/sh 告訴系統使用的shell,所以的shell腳本都是這樣

chkconfig: 35 20 80 分別代表運行級別,啟動優先權,關閉優先權,此行代碼必須

description: http server(自己隨便發揮)//兩行都注釋掉!!!,此行代碼必須

- chkconfig --add [腳本文件名]  操作后服務就已經添加到啟動項了

### 編輯文件 /etc/rc.local
- 用文本編輯器如 *vi* 打開該文件
- 在文件末尾(exit 0之前)加上你開機需要啟動的程序或執行的命令即可(執行的程序需要寫絕對路徑,添加到系統環境變量的除外)

### 自己編寫啟動腳本
- 編寫服務啟動shell腳本
- 將寫好的腳本(.sh文件)放到目錄 /etc/profile.d/ 下,系統啟動后就會自動執行該目錄下的所有shell腳本 

### 使用 *systemctl* 命令添加
- systemctl enable [服務名稱]


免責聲明!

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



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