系統(tǒng)啟動和引導過程
當打開 Linux 計算機時會發(fā)生什么?
在幾乎每種 Linux 配置中,引導過程都可以分為 9 個步驟:
安裝好根文件系統(tǒng)之后,就可以開始初始化了。
實際上,此后的所有引導過程完全由文件 /etc/inittab 的內容控制。具體來說,腳本和工具一般按照某些約定運行,但是理論上完全可以通過修改 /etc/inittab 來運行不同的腳本。
/etc/inittab 中的一個特定設置特別關鍵。這一行像下面這樣:
id:5:initdefault:
這一行一般出現(xiàn)在接近文件頂部的地方,它設置運行級別。運行級別控制 /etc/inittab 腳本其余部分中采取的操作。
在處理 /etc/inittab 腳本時發(fā)生了什么?具體來說,在這個過程中涉及哪些文件和目錄?
# System initialization.
si::sysinit:/etc/rc.d/rc.sysinit
在某些 Linux 系統(tǒng)上(大多數(shù)基于 Debian 的系統(tǒng)),還會看到:
si::sysinit:/etc/init.d/rcS
如果是后一種情況,/etc/init.d/rcS 是一個腳本,它只運行每個匹配 /etc/rcS.d/[Ss]??* 的腳本。另一方面,如果系統(tǒng)使用 /etc/rc.d/rc.sysinit,那么這個文件包含一個長腳本,用于執(zhí)行所有 初始化過程。
l0:0:wait:/etc/rc.d/rc 0
# ...
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6
腳本 /etc/rc.d/rc 將運行所有匹配 /etc/rc$1.d/[KkSs]??* 模式的文件。例如,在以運行級別 5 啟動的示例系統(tǒng)上,會依次運行以下文件:
/etc/rc5.d/K15postgresql
/etc/rc5.d/S01switchprofile
/etc/rc5.d/S05harddrake
...
/etc/rc5.d/S55sshd
...
/etc/rc5.d/S99linuxconf
/etc/rc5.d/S99local
以 “K”或“k” 開頭的文件是殺死腳本,它們結束進程或者清除進程的操作。以“S”或“s”開頭的文件是啟動腳本,它們一般啟動新進程或者使系統(tǒng)準備在此運行級別上運行。這些文件大多數(shù)是 shell 腳本,而且大多數(shù)是鏈接(常常鏈接到 /etc/init.d/ 中的文件)。
在大多數(shù)情況下,當 Linux 系統(tǒng)在一個運行級別上運行之后,您希望作為用戶登錄進系統(tǒng)。為此,運行一個稱為 getty 的程序來處理登錄過程。發(fā)行版創(chuàng)建者們使用基本 getty 的許多變體,比如 agetty、mgetty 和 mingetty。這些程序基本上都做同樣的工作。
# Run gettys in standard runlevels
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
第一個數(shù)字是運行 getty 的虛擬終端,后面的一組數(shù)字是采用此操作的幾個運行級別(例如,在運行級別 2、3、4 和 5 上都啟動 mingetty)。
接下來的步驟可能涉及啟動更多服務、登錄進一種圖形化環(huán)境、恢復 UI 設置或者其他更個性化的細節(jié),這超出了本教程的討論范圍。
2015職稱計算機考試書PowerPoint2007中 .. 定價:¥45 優(yōu)惠價:¥42 更多書籍 | |
2015年全國職稱計算機考試教材(2007模 .. 定價:¥225 優(yōu)惠價:¥213 更多書籍 |