美國服務(wù)器Linux系統(tǒng)啟動腳本執(zhí)行的順序是有特定的規(guī)則的,今天美聯(lián)科技小編就來跟大家介紹下美國服務(wù)器Linux系統(tǒng)啟動腳本執(zhí)行的順序。
1、美國服務(wù)器一般內(nèi)核啟動后
1)先識別存儲器分區(qū),根據(jù)root=/dev/block/mtd/mmcblk0p6這樣的的參數(shù)掛載文件系統(tǒng)。
2)運(yùn)行文件系統(tǒng)中的init=/sbin/init執(zhí)行啟動腳本。
3)一般這個(gè)時(shí)候腳本中可能會有分區(qū)識別腳本,將分區(qū)再識別一次,或者重新掛載nfs,或者直接在root=nfs,讓內(nèi)核去掛載網(wǎng)絡(luò)文件系統(tǒng)也是可以的。
2、一般美國服務(wù)器Linux系統(tǒng)的RunLevel
運(yùn)行級別0:系統(tǒng)停機(jī)狀態(tài),系統(tǒng)默認(rèn)運(yùn)行級別不能設(shè)為0,否則不能正常啟動。
運(yùn)行級別1:單用戶工作狀態(tài),root權(quán)限,用于系統(tǒng)維護(hù),禁止遠(yuǎn)程登陸。
運(yùn)行級別2:多用戶狀態(tài),沒有NFS。
運(yùn)行級別3:完全的多用戶狀態(tài),有NFS,登陸后進(jìn)入控制臺命令行模式。
運(yùn)行級別4:系統(tǒng)未使用,保留。
運(yùn)行級別5:X11控制臺,登陸后進(jìn)入圖形GUI模式。
運(yùn)行級別6:系統(tǒng)正常關(guān)閉并重啟,默認(rèn)運(yùn)行級別不能設(shè)為6,否則不能正常啟動。
3、美國服務(wù)器Ubuntu的RunLevel
運(yùn)行級別0:系統(tǒng)停機(jī)狀態(tài),系統(tǒng)默認(rèn)運(yùn)行級別不能設(shè)為0,否則不能正常啟動
運(yùn)行級別1:單用戶工作狀態(tài),root權(quán)限,用于系統(tǒng)維護(hù),禁止遠(yuǎn)程登陸
運(yùn)行級別2:多用戶GUI
運(yùn)行級別3:多用戶GUI
運(yùn)行級別4:多用戶GUI
運(yùn)行級別5:多用戶GUI
運(yùn)行級別6:系統(tǒng)正常關(guān)閉并重啟,默認(rèn)運(yùn)行級別不能設(shè)為6,否則不能正常啟動
4、美國服務(wù)器舊式System V initialization啟動流程:
1)運(yùn)行第一個(gè)進(jìn)程/sbin/init,找到/etc/inittab;
2)根據(jù)inittab首先執(zhí)行/etc/rcS.d/;
3)隨后根據(jù)“id:5:initdefault”,設(shè)置runlevel(這里為5),并根據(jù)runlevel執(zhí)行/etc/init.d/rc 5,這個(gè)命令會找到/etc/rc5.d/,運(yùn)行其中的腳本,這些腳本實(shí)際是/etc/init.d/目錄下腳本的軟連接,可能根據(jù)傳入的文件名作為參數(shù)執(zhí)行相應(yīng)動作,類似busybox,這些腳本以S開頭的為啟動的意思,以K開頭的為停止。并且S/K后面的兩位數(shù)數(shù)字代表了服務(wù)的啟動順序。
5、美國服務(wù)器Ubuntu啟動腳本執(zhí)行流程:
使用upstart啟動流程,并且兼容System V初始化。
1)其中/sbin/init 進(jìn)程首先找到/etc/init/目錄下的rc-sysinit.conf、rc.conf、rcS.conf,rc-sysinit在startup事件發(fā)生時(shí)被啟動,rc在系統(tǒng)runlevel變化時(shí)被啟動,rcS在系統(tǒng)runlevel為S時(shí)啟動。
2)其中rc-sysinit.conf的主要工作是檢測是否存在/etc/inittab或內(nèi)核命令行,若存在,則按內(nèi)核命令行>/etc/inittab>默認(rèn)runlevel的順序設(shè)置系統(tǒng) runlevel,不存在則忽略。
3)隨后rc-sysinit.conf主動調(diào)用/etc/init.d/rcS,其作用就是調(diào)用/etc/rcS.d目錄下的腳本。
4)之后rc-sysinit.conf設(shè)置系統(tǒng)默認(rèn)runlevel(2),由于runlevel變化,rc.conf和rcS.conf服務(wù)啟動,其中rc.conf最后會執(zhí)行“exec /etc/init.d/rc RUNLEVEL”,從而SystemVinitialization的流程被啟動,進(jìn)入/etc/rc(RUNLEVEL).d/執(zhí)行相應(yīng)腳本,其中rc($RUNLEVEL).d文件夾中一般會有一個(gè)執(zhí)行優(yōu)先級最低的/etc/init.d/rc.local,里面的內(nèi)容其實(shí)就是調(diào)用/etc/rc.local。
綜合上述描述,系統(tǒng)登錄之前的腳本主要有:/etc/rcS.d -> /etc/rc2.d/ -> /etc/rc.local,這些目錄下的腳本一般以數(shù)字開頭,數(shù)字越小越先被執(zhí)行。
6、美國服務(wù)器Ubuntu各個(gè)時(shí)間段執(zhí)行的腳本:
1)啟動過程最后會調(diào)用/etc/rc.local;
2)用戶登錄先執(zhí)行全局登錄腳本/etc/enviroment->/etc/profile,然后在用戶目錄按順序查找三個(gè)特殊文件中的一個(gè):.bash_profile、.bash_login、.profile;但只執(zhí)行先找到的一個(gè);
3)退出登錄時(shí)執(zhí)行用戶目錄的.bash_logout。
關(guān)注美聯(lián)科技,了解更多IDC資訊!