http://www.178linux.com/44483 http://os.51cto.com/art/201407/446819.htm http://ch666.blog.51cto.com/10870222/1757134 http://www.mamicode.com/info-detail-1165638.html
綜述:POST –> Boot Sequence(BIOS) –> Boot Loader –> Kernel(ramdisk) –> rootfs–> switchroot–> /sbin/init–>(/etc/inittab, /etc/init/*.conf) –> 設定默認運行級別–> 系統初始化腳本rc.sysinit–> 關閉或啓動對應級別的服務–> 啓動終端html
自檢經過;按照次序查找引導設備Blos,按F2或Del鍵進入Blos,能夠調整硬盤的啓動順序。Blos在找到硬盤上的MBR,讀取其中的Bootloader
stage1:即寫入mbr中存儲的bootloader程序。它的任務就是將stage1_5(此時並不能算是磁盤分區/boot/grub/下的stage1_5,由於stage1沒法識別文件系統)載入內存執行。
linuxstage1_5:位於mbr以後的扇區,經過提供基本文件系統驅動讓stage1中的bootloader程序能識別磁盤分區/boot/grub/上的stage2文件並載入內存執行。shell
stage2:這個程序主要給用戶提供一個比較友好的啓動菜單,然後去加載位於同一個磁盤分區/boot/的內核文件( vmlinuz-2.6.32-573.el6.x86_64)bash
2 grub的編輯命令 b:boot,啓動 e:edit,編輯選中的項 o:在選中行的下一行新加一行 O:在選中行的上一行添加一行 d:刪除選中行 ESC:能夠退出編輯界面進入主界面
詳解腳本 /etc/rc.d/rc.sysinit網絡
sysinit腳本執行完成,系統還須要啓動各類服務,這樣主機才能夠提供相關的網絡和主機功能,所以要根據相應的運行級別,運行相應的系統服務。ide
詳解目錄/etc/rc.d/rc3.dspa
執行/etc/rc.d/rc腳本。該文件定義了服務啓動的順序是先K後S,而具體的每一個運行級別的服務狀態是放在/etc/rc.d/rc*.d(*=0~6)目錄下,全部的文件均是指向/etc/init.d下相應文件的符號連接。rc.sysinit經過分析/etc/inittab文件來肯定系統的啓動級別,而後纔去執行/etc/rc.d/rcN.d下的文件。 以rc3.d爲例: /etc/rc.d/rc3.d目錄,該目錄下的內容所有都是以 S 或 K 開頭的連接文件,都連接到"/etc/rc.d/init.d"目錄下的各類shell腳本。S表示的是啓動時須要start的服務內容,K表示關機時須要關閉的服務內容,後面的數字表明優先次序。
完成了系統服務的啓動後,linux會啓動終端或X-Window來等待用戶登陸,會執行"/sbin/mingetty",並且執行了6個,因此linux會有6個純文本終端(tty1,tty2…),mingetty就是啓動終端的命令。至此,系統就啓動完畢了!3d
根據上面說明,咱們能夠知道,系統在啓動後會根據想要的運行級別,運行相應的服務腳本,而這些系統服務的管理,能夠用chkconfig來進行管理使用,這些服務腳本放置於/etc/rc.d/init.d中rest
chkconfig:跟新和確認系統服務信息 語法:chkconfig [–list] [–type type][name]:查看全部的服務列表詳細信息 chkconfig –add name :添加服務到系統服務 chkconfig –del name:刪除系統服務 chkconfig –override name chkconfig [–level levels] [–type type] name <on|off|reset|resetpriorities> chkconfig [–level levels] [–type type] name
一、系統服務腳本特色:基本均可以提供start|stop|restart|status這幾個狀態值的接收code
二、服務腳本存放位置
由上面的介紹可知,全部的系統服務腳本都放在/etc/rc.d/init.d文件夾中
三、服務腳本的編寫格式
其中,有三行格式是必需要寫上的#!/bin/bash,#/chkconfig,#description
chkconfig: runlevels SS KK【SS:表示開始運行的次序,KK:表示關閉程序的次序,-表示都不啓動】
所以能夠手動編寫系統服務:
(1)把服務腳本放置/etc/init.d目錄下 (2)使用chkconfig –add 添加到系統服務 (3)重啓系統讓服務生效
service httpd start 啓動服務
service httpd status 服務運行狀態
service httpd stop 中止服務
service httpd restart 重啓服務