天天看點

7Linux系統管理之Linux系統引導過程和服務控制

Linux引導過程和服務控制

一 引導過程

開機自檢→MBR引導→GRUB菜單→加載核心→運作INIT程序 →讀取配置檔案

1 開機自檢

根據主機闆bios中的設定對CPU、記憶體、顯示卡、等硬體裝置進行初步檢測,檢測成功後一般會交給本機硬碟

2 MBR引導

要從硬碟引導,首先會根據硬碟第一個扇區中MBR(主引導記錄)的設定,将系統控制權傳遞給包含作業系統引導檔案的分區,或者直接調用啟動菜單(如GRUB)

3 GRUB菜單

将會顯示啟動菜單提供給使用者選擇,并根據所選項加載linux核心檔案,然後将系統控制權交給核心

4 加載linux核心

Linux核心是一個預先編譯好的特殊二進制檔案,介于各種硬體資源與系統程式之間,負責資源配置設定與排程。将完全掌控整個linux作業系統的運作過程

5 INIT程序初始化

核心首先将“/sbin/init”程式加載到核心中運作,init程序負責完成一系列的系統初始化過程

二 系統初始化程序及檔案

1 INIT程序

由Linux核心加載運作 /sbin/init 程式,是系統中第一個程序,PID(程序标記)号永遠為1,是所有程序的“始祖”

配置檔案:/etc/inittab

2 inittab配置檔案

1)inittab檔案的結構(向配置檔案裡編輯的條目)

x:5:respawn:/etc/X11/prefdm –nodaemon

标記:運作級别:動作類型:程式或腳本

id:用于在inittab檔案中唯一辨別一個配置記錄;也稱标記字段,由1~4個字元組成,用以差別于其他行的配置

runlevels:用于指定該記錄在哪些運作級别中運作;取值數字0~6

0級别:關機狀态

1級别:單使用者模式,無需密碼驗證即可登入(故障排除,如修改root帳戶密碼)

2級别:無網絡功能指令行模式

3級别:指令行模式

4級别:未定義模式

5級别:圖形模式

6級别:關機重新開機

action:用于描述記錄将執行哪種類型的動作;一般為固定值,較常用的類型如下

initdefault:設定初始化系統後預設進入的運作級别

sysinit:設定系統初始化的操作腳本

wait:init程序将等待該行配置所對應的腳本操作完成後,再繼續執行其他操作

ctrlaltdel:設定當使用者按下Ctrl+Alt+Delete組合鍵後的操作

powerfail:設定當系統收到斷電信号(使用不間斷電源)時采取何種動作

powerokwait:設定當系統收到恢複供電信号時采取何種動作

respawn:一旦該行配置所對應的程序被終止,則重新啟動該程序

process:用于設定啟動程序所執行的指令

2)inittab配置檔案的預設附加元件

系統預設啟動級别(3或5)

7Linux系統管理之Linux系統引導過程和服務控制

調用rc.sysinit腳本檔案

7Linux系統管理之Linux系統引導過程和服務控制

在某個級别加載哪些系統服務(其中wait表示加載完RC腳本後才加載其它檔案)

7Linux系統管理之Linux系統引導過程和服務控制

熱啟動快捷鍵配置

7Linux系統管理之Linux系統引導過程和服務控制

字元控制台加載

7Linux系統管理之Linux系統引導過程和服務控制

3)inittab配置檔案的應用

開機直接進入文本模式:修改id:5:initdefault:中的5為3

[root@mazi ~]# vim /etc/inittab

id:3:initdefault

禁用熱鍵重新開機功能:在下面配置行添加#,讓之失效

[root@localhost ~]# vi /etc/inittab

#ca::ctrlaltdel:/sbin/shutdown -t3 -r now

[root@mazi ~]# init q 重新讀取配置資訊(重新整理)

減少字元控制台

通過/sbin/mingetty程式提供服務:提供六個字元控制台;可以注釋掉某一個控制台進而限制控制台數量

[root@localhost ~]# grep "mingetty" /etc/inittab

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

3 rc.sysinit腳本檔案

位于/etc/rc.d/rc.sysinit,由init程序調用執行,完成設定網絡、主機名、加載檔案系統、設定時鐘、檢測檔案系統等初始化工作;通過init程序通過inittab檔案中的對應配置來加載rc.sysinit腳本;例如檢查并啟用磁盤配額功能就是在該腳本中完成的

7Linux系統管理之Linux系統引導過程和服務控制

4 rc腳本檔案

位于/etc/rc.d/rc,由init程序進行調用,通過指定不同的級别參數分别加載及終止不同的系統服務,進入到相應的系統運作級别。

當系統開機進入3級别,inittab配置檔案就會調用rc腳本(可以設定為不調用),而rc腳本會執行/etc/rc.d/rc0.d/或/etc/rc.d/rc2.d/或……/etc/rc.d/rc6.d/六個目錄中第三個目錄中的系統服務;這些服務以K或S開頭中間是數字序号的,是系統服務腳本名;都是連結于/etc/rc.d/init.d/目錄中的服務;對于RC腳本來說,K開頭表示要終止該服務,S開頭的表示要啟動該服務,中間的數字表示執行順序;是以在rc0.d中大多是K開頭的,表示關機時關閉裡面的服務;在rc5.d中的服務大多是S開頭的

5 rc.local腳本檔案

是一個額外的啟動控制檔案,位于/etc/rc.local,由rc腳本在最後時進行加載;管理者可自行設定開機啟動任務,設定服務的開機自啟動;例如添加開機自動校對系統時間

7Linux系統管理之Linux系統引導過程和服務控制

三 服務控制和優化啟動過程

·系統服務控制

各種系統服務的控制腳本預設放在/etc/rc.d/init.d/目錄下;用過兩種方式可以對指定服務進行控制;一種專門的service控制工具,一種是直接運作系統服務腳本檔案

Service 服務名稱 控制類型

/etc/rc.d/init.d服務名稱 控制類型

其中控制類型包括:

start:啟動

stop:停止

restart:重新啟動(先停止後啟動)當服務正在運作時不能中斷時最好不要使用

reload:重新加載(重新整理配置)

status:檢視服務狀态

例如:檢視crond服務的運作狀态:service crond status

·切換運作級别

不同的運作級别,有不同的系統運作的狀态,不同的運作服務;比如說網站伺服器隻需運作在文本模式即可,無需開啟圖形界面

1檢視目前運作級别

如果之前未切換過運作級别,第一列将顯示“N

7Linux系統管理之Linux系統引導過程和服務控制

2切換運作級别

使用init n來切換,其中n代表0-6這六個級别

init 0關機

init 6重新開機

當系統處于3級别時無法使用Alt+7切換到圖形界面,因為5級别的程式已經被關閉了

·優化啟動過程

關閉使用者不需要的服務,以優化系統啟動過程

1了解常見的服務

2系統服務管理工具

若要禁止某些服務開機啟動,可以使用服務管理工具:

ntsysv工具:提供一個互動式、可視化視窗;可以在字元終端運作;便于集中管理多個服務

格式:ntsysv或ntsysv --level 級别清單 /所有級别或指定級别的服務

操作:操作時按上下箭頭鍵來選擇不同的系統服務,按空格鍵來設定服務的預設啟動狀态(“[*]”表示啟動,“[ ]”表示關閉)。如果想知道所標明服務的說明資訊,按F1鍵可以擷取幫助

7Linux系統管理之Linux系統引導過程和服務控制

chkconfig工具:不提供互動式、可視化視窗;管理單個服務效率更高

1)檢視服務的啟動級别

格式:chkconfig –list或chkconfig --list 服務名稱 /所有服務或指定服務

7Linux系統管理之Linux系統引導過程和服務控制

這個服務在2、3、4、5級别時開機自啟動

2)設定系統服務的啟動狀态

格式:chkconfig --level 級别清單 服務名 on|off

運作級别清單:可以是235、 35、5等等形式

服務名稱:注意名稱要正确,如果忘記了可檢視/etc/init.d/目錄下的腳本名

On|off:啟動或關閉啟動狀态

7Linux系統管理之Linux系統引導過程和服務控制

設定network服務在2345級别時開機啟動

繼續閱讀