Linux啟動流程、服務(wù)管理_第1頁
Linux啟動流程、服務(wù)管理_第2頁
Linux啟動流程、服務(wù)管理_第3頁
Linux啟動流程、服務(wù)管理_第4頁
Linux啟動流程、服務(wù)管理_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、啟動流程啟動流程引導(dǎo)過程總覽引導(dǎo)過程總覽 加載內(nèi)核(加載內(nèi)核(kernel) 開機(jī)自檢(開機(jī)自檢(BIOS)MBR 引導(dǎo)引導(dǎo)運(yùn)行運(yùn)行 INIT 進(jìn)程進(jìn)程讀取讀取/etc/inittab配置文件配置文件執(zhí)行執(zhí)行 /etc/rc.d/rc.sysinit 腳本腳本執(zhí)行執(zhí)行/etc/rc.d/rc腳本腳本初初始始化化過過程程/etc/rc0.d/* /etc/rc1.d/* /etc/rc2.d/* /etc/rc3.d/* /etc/rc4.d/* /etc/rc5.d/* /etc/rc6.d/* 啟動啟動 mingetty 進(jìn)程進(jìn)程GRUB菜單菜單詳細(xì)啟動過程詳細(xì)啟動過程 1詳細(xì)啟動過程詳細(xì)啟

2、動過程 21. 加載 BIOS 的硬件信息與進(jìn)行自我測試,并依據(jù)設(shè)定取得第一 個可開機(jī)的裝置; 2. 讀取并執(zhí)行第一個開機(jī)裝置內(nèi) MBR 的 boot Loader (亦即是 grub, LILO 等程序); 3. 依據(jù) boot loader 的設(shè)定加載 Kernel ,Kernel 會開始偵測硬件并加載驅(qū)動程序; 4. 在硬件驅(qū)動成功后,Kernel 會主動呼叫init 程序,而 init 會取得 run-level 信息; 5. init 執(zhí)行 /etc/rc.d/rc.sysinit 檔案來準(zhǔn)備軟件執(zhí)行的作業(yè)環(huán)境 (如網(wǎng)絡(luò)、時(shí)區(qū)等); 6. init 執(zhí)行 run-level 的各個服

3、務(wù)之啟動腳本(script 方式); 7. init 執(zhí)行 /etc/rc.d/rc.local 文件; 8. init 執(zhí)行終端機(jī)仿真程序 mingetty 來啟動login 程序,最后就等待用戶登入啦;大致啟動流程大致啟動流程 BIOS初始化初始化 第一步動作就是進(jìn)行上電自檢(POST),POST的工作是檢查硬件設(shè)備。BIOS的第二步動作就是枚舉本地設(shè)備并初始化。如果是硬盤啟動就會讀取與執(zhí)行啟動設(shè)備的第一個扇區(qū)(0磁道0柱面1扇區(qū)) 引導(dǎo)階段引導(dǎo)階段 GRUB boot loader 主要的功能如下: 提供選單:用戶可以選擇不同的開機(jī)項(xiàng)目,這也是多重引導(dǎo)的重要功能 載入核心檔案:直接指向可

4、開機(jī)的程序區(qū)段來開始操作系統(tǒng); 轉(zhuǎn)交其他 loader:將開機(jī)管理功能轉(zhuǎn)交給其他 loader 負(fù)責(zé)。 引導(dǎo)階段引導(dǎo)階段 GRUB 由于MBR太小,所以 Linux 將 boot loader 的程序代碼執(zhí)行與設(shè)定值加載分成兩個階段 (stage)來執(zhí)行:Stage 1:執(zhí)行 boot loader 主程序Stage 2:主程序加載配置文件與相關(guān)的環(huán)境參數(shù)(包括文件系統(tǒng)定義與主要配置文件 menu.lst), 一般來說,配置文件都在 /boot 底下。 rootwww # ls -l /boot/grub -rw-r-r- device.map =grub 的裝置對應(yīng)文件-rw-r-r- e2

5、fs_stage1_5 =ext2/ext3 文件系統(tǒng)的定義檔 -rw-r-r- fat_stage1_5 =FAT 文件系統(tǒng)的定義檔 -rw-r-r- ffs_stage1_5 =FFS 文件系統(tǒng)的定義檔 -rw- grub.conf =grub 在 Red Hat 的配置文件 -rw-r-r- iso9660_stage1_5 =光驅(qū)文件系統(tǒng)定義文件 -rw-r-r- jfs_stage1_5 ./grub.conf =其實(shí) menu.lst 才是配置文件! -rw-r-r- minix_stage1_5 =minix 文件系統(tǒng)定義檔 -rw-r-r- reiserfs_stage1_5

6、=reiserfs 文件系統(tǒng)定義檔 -rw-r-r- splash.xpm.gz =開機(jī)時(shí)在 grub 底下的背景圖示 -rw-r-r- stage1 =stage 1 的相關(guān)說明 -rw-r-r- stage2 =stage 2 的相關(guān)說明 -rw-r-r- ufs2_stage1_5 =UFS 的文件系統(tǒng)定義檔 -rw-r-r- vstafs_stage1_5 =vstafs 文件系統(tǒng)定義檔 -rw-r-r- xfs_stage1_5 =xfs 文件系統(tǒng)定義檔GRUB引導(dǎo)文件引導(dǎo)文件 如果硬盤上的如果硬盤上的MBR被更動過,可以用被更動過,可以用 /sbin/grub-install /d

7、ev/hda|sda來重新安裝來重新安裝GRUBGRUB配置文件(/boot/grub/grub.conf) default=0 默認(rèn)啟動第幾個“title” timeout=5 時(shí)間延遲5秒 splashimage=(hd0,0) /grub/splash.xpm.gz GRUB啟動菜單背景界面 hiddenmenu 隱藏菜單選項(xiàng) title Red Hat Enterprise Linux Server (2.6.18-194.el5) 菜單中的系統(tǒng)標(biāo)題 root (hd0,0) 制定根設(shè)備(hd0,0第一個磁盤的第一個分區(qū)) kernel /vmlinuz-2.6.18-194.el5

8、ro root=LABEL=/ rhgb quiet 內(nèi)核文件與掛載根設(shè)備 initrd /initrd-2.6.18-194.el5.img 指定初始化內(nèi)存鏡像盤 title windows 另一個操作系統(tǒng)的標(biāo)題 rootnoverify(hd0,1) 操作系統(tǒng)存放在hd0,1上,不要在grub里mount chainloader +1 從hd0,1的第一個扇區(qū)啟動加載核心與加載核心與 initrd Linux 會將核心解壓縮到主存儲器當(dāng)中, 并利用核心的功能,開始測試與驅(qū)動各個周邊裝置,包括儲存裝置、CPU、網(wǎng)絡(luò)卡、聲卡等等(不一定會使用BIOS檢測道的) 現(xiàn)在內(nèi)核都是模塊化的 /lib/

9、modules/$(uname -r)/kernel/ ,開機(jī)要想識別一些特殊驅(qū)動,就需要虛擬文件系統(tǒng)支持。rootlocalhost boot# ls -format=single-column -F /bootconfig-2.6.18-194.el5 此版本核心被編譯時(shí)選擇的功能與模塊配置文件 grub/ 開機(jī)管理程序GRUBinitrd-2.6.18-194.el5.img 虛擬文件系統(tǒng)symvers-2.6.18-194.el5.gzSystem.map-2.6.18-194.el5 核心功能放置到內(nèi)存地址的對應(yīng)表vmlinuz-2.6.18-194.el5 內(nèi)核文件 Red Hat

10、 Enterprise Linux6通過將System V替換為upstart加快了啟動速度,不過仍然向下兼容以前的管理方式,大致的啟動過程如下:1、內(nèi)核啟動init2、系統(tǒng)初始化(/etc/init/rcS.conf exec /etc/rc.d/rc.sysinit)3、init找到/etc/inittab文件,確定默認(rèn)的運(yùn)行級別(X)(/etc/init/rcS.conf exec telinit $runlevel)4、觸發(fā)相應(yīng)的runlevel事件(/etc/init/rc.conf exec /etc/rc.d/rc $RUNLEVEL)5、開始運(yùn)行/etc/rc.d/rc,出入?yún)?/p>

11、數(shù)X6、/etc/rc.d/rc腳本進(jìn)行一系列設(shè)置,最后運(yùn)行相應(yīng)的/etc/rcX.d/中的腳本7、/etc/rcX.d/中的腳本按事先設(shè)定的優(yōu)先級依次啟動8、最后執(zhí)行/etc/rc.d/rc.local9、加載終端或X Window接口Upstart啟動過程啟動過程INIT進(jìn)程進(jìn)程INIT進(jìn)程由Linux內(nèi)核加載運(yùn)行 /sbin/init 程序是系統(tǒng)中第一個進(jìn)程,PID(進(jìn)程標(biāo)記)號永遠(yuǎn)為1配置文件:/etc/inittab0 關(guān)閉1 單一用戶模式(一般僅用于管理目的)2 多用戶模式,不允許使用網(wǎng)絡(luò)3 多用戶模式,允許使用網(wǎng)絡(luò)4 沒有用到的運(yùn)行級別5 多用戶模式,允許使用網(wǎng)絡(luò),X Windo

12、w方式(圖形登錄界面)6 重新引導(dǎo)系統(tǒng)初始化腳本系統(tǒng)初始化腳本/etc/rc.d/rc.sysinit是系統(tǒng)初始化腳本是系統(tǒng)初始化腳本 獲得網(wǎng)絡(luò)環(huán)境 掛載設(shè)備 判斷是否啟用SELinux 初始化硬件 用戶自定義模塊的加載 配置內(nèi)核參數(shù) 設(shè)置主機(jī)名 同步存儲器 設(shè)備映射器及相關(guān)的初始化 初始化RAID、LVM等 檢查磁盤文件系統(tǒng)(fsck) 磁盤配額(quota) 重新以可讀/寫模式掛載系統(tǒng)磁盤 啟動交換分區(qū) 將開機(jī)信息寫入/var/log/dmesg文件中執(zhí)行執(zhí)行/etc/rc.d/rcX.d目錄目錄 每一個運(yùn)行級別都對應(yīng)一個目錄 /etc/rc.d/rcX.d 目錄內(nèi)存放的,即當(dāng)前運(yùn)行級別需

13、要開啟的服務(wù)腳本,對應(yīng)/etc/rc.d/init.d/目錄下的鏈接,首先終止“K”開頭的服務(wù),然后啟動“S”開頭的服務(wù),數(shù)值小的在數(shù)值大的前面執(zhí)行 /etc/rc.local腳本文件由rc腳本調(diào)用執(zhí)行保存用戶定義的需開機(jī)后自動執(zhí)行的命令運(yùn)行級別2、3、5都把其作為初始化腳本中的最后一個文件rc.local腳本文件腳本文件rootlocalhost # vi /etc/rc.d/rc.local/sbin/hwclock -hctosysLinuxLinux在每次啟動后根據(jù)在每次啟動后根據(jù)BIOSBIOS中的時(shí)鐘自動校對系統(tǒng)時(shí)間中的時(shí)鐘自動校對系統(tǒng)時(shí)間 查看運(yùn)行級別使用runlevel命令,分

14、別顯示: 切換前的運(yùn)行級別、當(dāng)前運(yùn)行級別 臨時(shí)切換運(yùn)行級別使用init命令結(jié)合0-6運(yùn)行級別參數(shù)Linux系統(tǒng)的運(yùn)行級別系統(tǒng)的運(yùn)行級別rootlocalhost # runlevelN 5rootlocalhost # init 3rootlocalhost # runlevel5 3rootlocalhost # init 6rootlocalhost # init 0第一個字符為第一個字符為“N N”表示之表示之前未切換過運(yùn)行級別前未切換過運(yùn)行級別重啟系統(tǒng)重啟系統(tǒng)關(guān)閉系統(tǒng)關(guān)閉系統(tǒng) 提供服務(wù)的程序是由運(yùn)行在后臺的系統(tǒng)服務(wù)(daemons)來執(zhí)行的。守護(hù)進(jìn)程的工作就是打開一個端口,并且監(jiān)聽(l

15、isten)連接。如果客戶端發(fā)送一個連接請求,守護(hù)進(jìn)程就創(chuàng)建(Fork)一個子服務(wù)器響應(yīng)連接,而主服務(wù)器繼續(xù)監(jiān)聽其他的服務(wù)請求。Linux守護(hù)進(jìn)程的運(yùn)行方式有如下兩種:獨(dú)立運(yùn)行(stand-alone)的守護(hù)進(jìn)程Xinetd模式運(yùn)行獨(dú)立的守護(hù)進(jìn)程守護(hù)進(jìn)程守護(hù)進(jìn)程 由init腳本負(fù)責(zé)管理,所有獨(dú)立運(yùn)行的守護(hù)進(jìn)程的腳本在/etc/rc.d/init.d/目錄下。是Unix傳統(tǒng)的C/S模式的訪問模式, stand-alone模式工作原理見圖:獨(dú)立運(yùn)行守護(hù)進(jìn)程獨(dú)立運(yùn)行守護(hù)進(jìn)程 xinetd能夠同時(shí)監(jiān)聽多個指定的端口,在接受用戶請求時(shí),他能夠根據(jù)用戶請求的端口不同,啟動不同的網(wǎng)絡(luò)服務(wù)進(jìn)程來處理這些用戶請

16、求。xinetd模式工作原理見圖:Xinetd模式模式rootlocalhost # service crondUsage: nfs start|stop|status|restart|reload|condrestart 系統(tǒng)服務(wù)控制常用方式: service 服務(wù)名稱 控制類型 /etc/rc.d/init.d服務(wù)名稱 控制類型控制類型 start:啟動 stop:停止 restart:重新啟動 reload:重新加載 status:查看服務(wù)狀態(tài) rootlocalhost # service crond statuscrond (pid 3069) is running.系統(tǒng)服務(wù)控制系統(tǒng)

17、服務(wù)控制顯示顯示nfsnfs服務(wù)可用的服務(wù)可用的控制類型控制類型crondcrond服務(wù)正在運(yùn)行服務(wù)正在運(yùn)行優(yōu)化啟動過程優(yōu)化啟動過程 系統(tǒng)服務(wù)管理工具ntsysv工具 提供一個交互式、可視化窗口 可以在字符終端運(yùn)行 便于集中管理多個服務(wù)chkconfig工具 不提供交互式、可視化窗口 管理單個服務(wù)效率更高 ntsysv系統(tǒng)服務(wù)管理工具格式:ntsysv ntsysv -level 級別列表系統(tǒng)服務(wù)的啟動和控制系統(tǒng)服務(wù)的啟動和控制3-1 查看系統(tǒng)服務(wù)的啟動狀態(tài)格式:chkconfig -list chkconfig -list 服務(wù)名稱服務(wù)腳本位置:/etc/init.d /etc/rc.d/init.d系統(tǒng)服務(wù)的啟動和控制系統(tǒng)服務(wù)的啟動和控制3-23-2rootlocalhost # chkconfig -list networknetwork 0:關(guān)閉 1:關(guān)閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關(guān)閉rootlocalhost # chkconfig -listacpid 0:關(guān)閉 1:關(guān)閉 2:關(guān)閉 3:啟用 4:啟用 5:啟用 6:關(guān)閉ana

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論