Linux的引導(dǎo)流程
1、系統(tǒng)啟動(dòng)的引導(dǎo)流程
首先系統(tǒng)開(kāi)機(jī)自檢,然后是計(jì)算機(jī)開(kāi)機(jī)后訪(fǎng)問(wèn)硬盤(pán)并讀取首個(gè)扇區(qū)的MBR(即主引導(dǎo)目錄),(備注:主引導(dǎo)扇區(qū)內(nèi)部結(jié)構(gòu),其開(kāi)頭的446字節(jié)內(nèi)容特指為“主引導(dǎo)記錄”(MBR),其后是4個(gè)16字節(jié)的“磁盤(pán)分區(qū)表”(DPT),以及2字節(jié)的結(jié)束標(biāo)志(55AA)。主引導(dǎo)扇區(qū)記錄著硬盤(pán)本身的相關(guān)信息以及硬盤(pán)各個(gè)分區(qū)的大小及位置信息,是數(shù)據(jù)信息的重要入口。如果它受到破壞,硬盤(pán)上的基本數(shù)據(jù)結(jié)構(gòu)信息將會(huì)丟失,需要用繁瑣的方式試探性的重建數(shù)據(jù)結(jié)構(gòu)信息后才可能重新訪(fǎng)問(wèn)原先的數(shù)據(jù)。)讀取MBR記錄后,這時(shí)進(jìn)入系統(tǒng)選擇界面,選擇好某個(gè)操作系統(tǒng)后,則開(kāi)始加載內(nèi)核,接著從INIT進(jìn)程獲得系統(tǒng)控制權(quán),即進(jìn)入初始化過(guò)程,之后則讀相應(yīng)的配置文件,具體引導(dǎo)過(guò)程如下:
系統(tǒng)初始化進(jìn)程及文件簡(jiǎn)單介紹
1)、INIT進(jìn)程與配置文件:
INIT進(jìn)程:由Linux內(nèi)核加載運(yùn)行/sbin/init程序,是系統(tǒng)中第一個(gè)進(jìn)程,也是內(nèi)核加載的第一個(gè)程序,PID(進(jìn)程標(biāo)識(shí)符)永遠(yuǎn)是1;配置文件是:/etc/inittab
INIT進(jìn)程啟動(dòng)后會(huì)啟動(dòng)其它程序,生成新的進(jìn)程,這些由init啟動(dòng)的進(jìn)程稱(chēng)之為init進(jìn)程的子進(jìn)程,而init進(jìn)程是這些進(jìn)程的父進(jìn)程
2)、inittab文件結(jié)構(gòu):
查看一下/etc/inittab配置文件的內(nèi)容:
[root@localhost ~]# grep -v "^#" /etc/inittab | grep -v "^$" ==>查看這個(gè)文件時(shí)過(guò)濾掉注釋行和空行 id:5:initdefault: si::sysinit:/etc/rc.d/rc.sysinit l0:0:wait:/etc/rc.d/rc 0 l1:1:wait:/etc/rc.d/rc 1 l2:2:wait:/etc/rc.d/rc 2 l3:3:wait:/etc/rc.d/rc 3 l4:4:wait:/etc/rc.d/rc 4 l5:5:wait:/etc/rc.d/rc 5 l6:6:wait:/etc/rc.d/rc 6 ca::ctrlaltdel:/sbin/shutdown -t3 -r now pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down" pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled" 1:2345:respawn:/sbin/mingetty tty1 2:2345:respawn:/sbin/mingetty tty2 3:2345:respawn:/sbin/mingetty tty3 4:2345:respawn:/sbin/mingetty tty4 5:2345:respawn:/sbin/mingetty tty5 6:2345:respawn:/sbin/mingetty tty6 x:5:respawn:/etc/X11/prefdm -nodaemon [root@localhost ~]#
各字段的含義:
id |
用于在inittab文件中唯一標(biāo)識(shí)一個(gè)配置記錄 |
runlevels |
用于指定該記錄在哪些運(yùn)行級(jí)別中運(yùn)行 |
action |
用于描述記錄將執(zhí)行哪種類(lèi)型的動(dòng)作 |
process |
用于設(shè)置啟動(dòng)進(jìn)程所執(zhí)行的命令 |
id,也稱(chēng)標(biāo)記字段,由1~4個(gè)字符組成,用以區(qū)別于其他行的配置,所以id標(biāo)記字段必須是唯一的
runlevels,運(yùn)行級(jí)別字段,用于指定該記錄在哪些運(yùn)行級(jí)別中運(yùn)行,取值數(shù)字0~6,后面會(huì)對(duì)其進(jìn)行詳細(xì)解釋
action ,動(dòng)作類(lèi)型字段,動(dòng)作類(lèi)型字段描述了該行配置所對(duì)應(yīng)的操作類(lèi)別,一般為固定值,較常用的類(lèi)型如下:
initdefault:設(shè)置初始化系統(tǒng)后默認(rèn)進(jìn)入的運(yùn)行級(jí)別
sysinit:設(shè)置系統(tǒng)初始化的操作腳本
wait:init進(jìn)程將等待該行配置所對(duì)應(yīng)的腳本操作完成后,再繼續(xù)執(zhí)行其他操作
ctrlaltdel:設(shè)置當(dāng)用戶(hù)按下Ctrl+Alt+Delete組合鍵后的操作
powerfail:設(shè)置當(dāng)系統(tǒng)收到斷電信號(hào)(使用不間斷電源)時(shí)采取何種動(dòng)作
powerokwait:設(shè)置當(dāng)系統(tǒng)收到恢復(fù)供電信號(hào)時(shí)采取何種動(dòng)作
respawn:一旦該行配置所對(duì)應(yīng)的進(jìn)程被終止,則重新啟動(dòng)該進(jìn)程
process,程序或腳本字段,此字段用于指定該行配置所對(duì)應(yīng)的實(shí)際操作,可以是具體的命令、腳本程序等
3)、其它系統(tǒng)初始化文件簡(jiǎn)介
/etc/rc.d/rc.sysinit
由init進(jìn)程調(diào)用執(zhí)行
完成設(shè)置網(wǎng)絡(luò)、主機(jī)名、加載文件系統(tǒng)設(shè)置時(shí)鐘等初始化工作(例如檢查并啟用磁盤(pán)配額功能就是在該腳本中完成的)。
/etc/rc.d/rc腳本文件
由init進(jìn)程調(diào)用執(zhí)行
rc腳本通過(guò)指定不同的級(jí)別參數(shù)分別加載及終止不同的系統(tǒng)服務(wù),進(jìn)入到相應(yīng)的系統(tǒng)運(yùn)行級(jí)別。
/etc/rc.local腳本文件
由rc腳本調(diào)用執(zhí)行
rc.local腳本通常由rc腳本在最后進(jìn)行加載,其作用主要是為管理員自行設(shè)置啟動(dòng)命令提供一種途徑,通常都將一些需要隨系統(tǒng)啟動(dòng)的命令和腳本添加到該文件中。(保存用戶(hù)定義的需開(kāi)機(jī)后自動(dòng)執(zhí)行的命令)
2、Linux系統(tǒng)的運(yùn)行級(jí)別
1)、運(yùn)行級(jí)別是指運(yùn)行Linux系統(tǒng)的不同模式,每種模式對(duì)應(yīng)不同的服務(wù)程序組合。
默認(rèn)的7種運(yùn)行級(jí)別
0:關(guān)機(jī)狀態(tài)
1:?jiǎn)斡脩?hù)模式
2:字符界面的多用戶(hù)模式(不支持網(wǎng)絡(luò))
3:字符界面的完整多用戶(hù)模式
4:未分配使用
5:圖形界面的多用戶(hù)模式
6:重新啟動(dòng)
(解釋?zhuān)篖inux系統(tǒng)在運(yùn)行時(shí),采用的每一種服務(wù)搭配稱(chēng)之為“運(yùn)行級(jí)別”,運(yùn)行級(jí)別類(lèi)似于Windows系統(tǒng)中的正常啟動(dòng)、安全模式、帶網(wǎng)絡(luò)支持的安全模式……等概念,不同的運(yùn)行級(jí)別使用了不同的服務(wù)程序組合,如“套餐”的概念,動(dòng)感地帶手機(jī)資費(fèi)的10元短信套餐、15元音樂(lè)套餐)
2)、調(diào)整默認(rèn)運(yùn)行級(jí)別
修改/etc/inittab 文件中的 initdefault 配置,一般對(duì)于普通用戶(hù)來(lái)說(shuō),runlevel設(shè)置為5,即為圖像化操作,但是對(duì)于服務(wù)器來(lái)說(shuō),默認(rèn)是設(shè)置為3,即字符界面,對(duì)于服務(wù)器來(lái)說(shuō),加載圖形化界面是非常耗資源的,影響服務(wù)器性能。
[root@localhost ~]# vi /etc/inittab
進(jìn)入之后有這樣一行:
id:5:initdefault: ==>這個(gè)5的意思就是設(shè)置開(kāi)機(jī)后自動(dòng)進(jìn)入圖形模式
3)、查看運(yùn)行級(jí)別——runlevel
runlevel:能顯示切換前的運(yùn)行級(jí)別和當(dāng)前運(yùn)行級(jí)別
若臨時(shí)切換運(yùn)行級(jí)別,則使用init命令結(jié)合0-6的運(yùn)行級(jí)別參數(shù)
[root@localhost ~]# runlevel ==>查看當(dāng)前運(yùn)行級(jí)別 N 5 ==>第一個(gè)字符“N”表示之前未切換過(guò)運(yùn)行級(jí)別 [root@localhost ~]# init 3 ==>將運(yùn)行級(jí)別改為3 [root@localhost ~]# runlevel ==>顯示之前和改后的級(jí)別 5 3 [root@localhost ~]# init 6 ==>重啟(這里我按了ctrl + C ,不然系統(tǒng)要重啟了) [root@localhost ~]# init 0 ==>系統(tǒng)關(guān)機(jī)
3、系統(tǒng)服務(wù)的啟動(dòng)控制
1)、查看系統(tǒng)服務(wù)的啟動(dòng)狀態(tài) chkconfig --list [服務(wù)名稱(chēng)]
如查看network這個(gè)服務(wù)的啟動(dòng)狀態(tài),則使用:chkconfig --list network
2)、服務(wù)腳本位置:/etc/init.d ——> /etc/rc.d/init.d
(/etc/init.d是一個(gè)符號(hào)鏈接,目標(biāo)為 /etc/rc.d/init.d,通過(guò)這兩個(gè)目錄都可以找到系統(tǒng)服務(wù)對(duì)應(yīng)的腳本文件)
3)、設(shè)置系統(tǒng)服務(wù)的啟動(dòng)狀態(tài) chkconfig --level 級(jí)別列表 服務(wù)名 on|off
(解釋?zhuān)哼\(yùn)行級(jí)別列表:可以是235、 35、5等等形式;服務(wù)名稱(chēng):注意名稱(chēng)要正確,如果忘記了可查看/etc/init.d/目錄下的腳本名 ;On|off: 啟動(dòng)或關(guān)閉啟動(dòng)狀態(tài))
如設(shè)置network服務(wù)在2345級(jí)別下為啟動(dòng)狀態(tài):chkconfig --level 2345 network on
再次查看它的服務(wù)時(shí)則可以看到network這個(gè)服務(wù)在各個(gè)模式下的啟用狀態(tài)
4)、ntsysv系統(tǒng)服務(wù)管理工具——ntsysv [--level 級(jí)別列表]
此命令進(jìn)入類(lèi)似圖形化的界面,可以集中對(duì)所有的系統(tǒng)服務(wù)進(jìn)行設(shè)置
使用和chkconfig命令和ntsysv命令跳轉(zhuǎn)服務(wù)啟動(dòng)狀態(tài)的對(duì)比說(shuō)明:
1)當(dāng)需要設(shè)置個(gè)別服務(wù)在不同運(yùn)行級(jí)別的啟動(dòng)狀態(tài)時(shí),選擇使用chkconfig命令要更有效率
2)當(dāng)需要同時(shí)設(shè)置大量服務(wù)的啟動(dòng)狀態(tài)時(shí),選擇使用ntsysv配置工具要更加適合
2015職稱(chēng)計(jì)算機(jī)考試書(shū)PowerPoint2007中 .. 定價(jià):¥45 優(yōu)惠價(jià):¥42 更多書(shū)籍 | |
2015年全國(guó)職稱(chēng)計(jì)算機(jī)考試教材(2007模 .. 定價(jià):¥225 優(yōu)惠價(jià):¥213 更多書(shū)籍 |