Linux 初始化系统(系统服务管理和控制程序/Init System) -- System V init(SysV init) 的简单理解
文章目錄
- SysV init 簡介
- SysV init 的缺點(diǎn)
- 運(yùn)行級別
- 主要文件和目錄的截圖
SysV init 簡介
System V init(縮寫 SysV init)是類 Unix 操作系統(tǒng)中傳統(tǒng)的也是首款初始化系統(tǒng)。
服務(wù)配置文件(bash 腳本文件)存放在目錄 /etc/init.d 下 或者目錄 /etc/rc.d/init.d/ 下,可以使用 /etc/rc.d/init.d/daemon [start|stop|restart|reload|status] 方式來管理服務(wù)。init 程序的配置文件存放在目錄 /etc/inittab/ 下。
默認(rèn)的運(yùn)行級別在 /etc/inittab 文件中定義,當(dāng)系統(tǒng)以某個(gè)運(yùn)行級別啟動(dòng)時(shí),會運(yùn)行 /etc/rc.d/rcN.d/(其中 N 范圍為0~6)目錄中所有的腳本,而這些腳本的命名都是Knnxxxxx或Snnxxxxx,其中S表示系統(tǒng)啟動(dòng)時(shí)調(diào)用,K表示系統(tǒng)終止時(shí)調(diào)用,nn是00~99的數(shù)字,數(shù)字的大小決定了腳本運(yùn)行的順序,最后的xxxxx為腳本的名稱(長度任意),這些目錄里的文件都是指向init.d目錄中腳本的軟連接,因?yàn)楦鱾€(gè)運(yùn)行級別的所需的服務(wù)可能存在交集,所以這樣能節(jié)省硬盤使用空間。
SysV init 守護(hù)進(jìn)程是一個(gè)基于運(yùn)行級別的系統(tǒng),它使用運(yùn)行級別(單用戶、多用戶以及其他更多級別)和鏈接(位于 /etc /rcN.d/ 目錄中,分別鏈接到 /etc/init.d 中的 init 腳本)來啟動(dòng)和關(guān)閉系統(tǒng)服務(wù)。SysV啟動(dòng)是線性、順序的。一個(gè)S20的服務(wù)必須要等待S19啟動(dòng)完成才能啟動(dòng),如果一個(gè)啟動(dòng)要花很多時(shí)間,那么后面的服務(wù)就算完全無關(guān),也必須要等。
在SysV init中,服務(wù)被分成兩大類,一類是可獨(dú)立運(yùn)行的服務(wù),另一類是受xinetd管理的服務(wù),而xinetd本身是一個(gè)獨(dú)立運(yùn)行的服務(wù),用來負(fù)責(zé)管理一些不常用的服務(wù),當(dāng)這些服務(wù)需要被使用時(shí),由xinetd來喚醒它們,當(dāng)服務(wù)使用完后,這些服務(wù)會被結(jié)束以減少系統(tǒng)資源的占用。
SysV init 的缺點(diǎn)
SysV 運(yùn)行時(shí)是同步阻塞的
一個(gè)腳本運(yùn)行的時(shí)候,后續(xù)腳本必須等待。這意味著所有的初始化步驟都是串行執(zhí)行的,而實(shí)際上很多服務(wù)彼此并不相關(guān),完全可以并行啟動(dòng),從而減小系統(tǒng)的啟動(dòng)時(shí)間。
會啟動(dòng)大量無用的浪費(fèi)系統(tǒng)資源的服務(wù)進(jìn)程,無法完美滿足按需啟動(dòng)服務(wù)的需求
啟動(dòng)腳本復(fù)雜。init 進(jìn)程只是執(zhí)行啟動(dòng)腳本,不管其他事情。腳本需要自己處理各種情況,這往往使得腳本變得很長
運(yùn)行級別
在 SysV init 中,定義了6個(gè)運(yùn)行級別,分別是:
runlevel0 = 關(guān)機(jī)
runlevel1 = 單用戶模式,僅root
runlevel2 = 帶網(wǎng)絡(luò)的單用戶模式
runlevel3 = 多用戶模式,字符界面,標(biāo)準(zhǔn)模式
runlevel4 = 保留
runlevel5 = 多用戶模式,圖形界面,X11(X Window)
runlevel6 = 重啟
主要文件和目錄的截圖
備注:截圖來自 RHEL 7
/etc/inittab:
/etc/rc.d/:(rc.local是一個(gè)腳本文件,里面定義了用戶自定義啟動(dòng)的程序)
/etc/rc.d/rc.local:
/etc/rc.d/init.d/:(文件functions定義了很多函數(shù),供給本目錄里的腳本調(diào)用,而文件README是一個(gè)說明文件,主要說明“現(xiàn)在的服務(wù)由systemd管理,不再推薦使用這些腳本”,剩下的文件都是對應(yīng)服務(wù)的腳本文件)
/etc/rc.d/rc3.d/:
總結(jié)
以上是生活随笔為你收集整理的Linux 初始化系统(系统服务管理和控制程序/Init System) -- System V init(SysV init) 的简单理解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 双头龙是什么意思
- 下一篇: 浅析 Linux 初始化系统(系统服务管