我想大家明白了Linux的運(yùn)行流程,也許就會明白很多文件是干什么的了,,關(guān)于這個(gè)問題,,我想直接上圖,比較好,,然后我再逐一解釋這個(gè)圖,,這幅圖是我從網(wǎng)上下載的。 ◆ 首先,,本機(jī)會進(jìn)入BIOS進(jìn)行開機(jī)自檢,,然后讀取MBR主引導(dǎo)記錄。 ◆ 加載引導(dǎo)程序,,Bootloader/Grub,,然后這個(gè)程序,讀取它的配置文件,,BCD/grub.conf,,這個(gè)時(shí)候如果有雙系統(tǒng)的話,會讓用戶選擇,,比如Linux和Windows,,如果用戶選擇了,Linux那么,,就會加載Linux內(nèi)核 ◆ 這個(gè)時(shí)候加載Linux內(nèi)核,,掛載虛擬磁盤,如上面所說,。 ◆ 然后就會檢測硬件,,加載驅(qū)動,掛載根文件系統(tǒng),,這個(gè)時(shí)候是讀取的/etc/fstab 文件,,這個(gè)配置文件是用來開機(jī)掛載分區(qū)的配置文件。 ◆ 進(jìn)入下一步,初始化進(jìn)程,,/sbin/init 這個(gè)進(jìn)程是所有進(jìn)程的父進(jìn)程,。這個(gè)文件會讀取配置文件/etc/initab,這個(gè)配置文件記錄了系統(tǒng)的運(yùn)行等級,,如果這里面默認(rèn)配置了啟動項(xiàng)是3,,那么就會進(jìn)入純文本界面, ◆ 接下來初始化腳本,,/etc/inittab已經(jīng)說過,,這里不再多說,然后init進(jìn)程在執(zhí)行/etc/rc.d/rc.sysinit,,腳本,,這個(gè)腳本中定義了很多,網(wǎng)絡(luò)配置,,swap分區(qū),,設(shè)定內(nèi)存去/proc,和加載環(huán)境變量/etc/profile等等,, /etc/profile又會調(diào)用其他的環(huán)境變量,, ◆ 如果是運(yùn)行的系統(tǒng)的3級別,那么系統(tǒng)會運(yùn)行這個(gè)/etc/rc.d/rc3.d/*下的程序,,按照里面給定的順序,,初始化程序,(S開頭的啟動順序,,K開頭的是關(guān)閉順序)相當(dāng)于開機(jī)啟動項(xiàng) ◆ 接下來是加載/etc/rc.d/rc.local,,這個(gè)配置文件,rc.local就是在一切初始化工作后,,Linux留給用戶進(jìn)行個(gè)性化的地方,。你可以把你想設(shè)置和啟動的東西放到這里。比如我們想讓某個(gè)程序在這里開機(jī)啟動,,就可以用這種方式,,比如我想讓apache開機(jī)啟動, 就在里面添加一行,,/etc/rc.d/init.d/apache start,,這樣的話,Apache就會每次開機(jī)啟動了 |
|