天天看點

centos6.5啟動過程

轉載位址:http://guoting.blog.51cto.com/8886857/1530109

啟動 init 程序

init 程序是系統啟動的第一個程序。其他程序都是有此程序控制fork出來的,也就是說,init是其他程序的“祖先”,PID=1。當然,PID=0程序我們稱為空閑程序是屬于核心的。

init啟動後所做的事情:

1、讀取/etc/inittab來讀取預設級别 假設:讀取到的預設級别是 3

/etc/init/*.conf

  1. # 啟動級别:(runlevel)  
  2. # 0:關機  
  3. # 1:單使用者模式  
  4. # 2:多使用者模式,不支援 NFS 功能  
  5. # 3:完全多使用者模式,支援文本接口  
  6. # 4:預留模式  
  7. # 5:完全多使用者模式,支援圖形模式  
  8. # 6:關機  
  9. # /etc/inittab檔案格式如下,這是遵循了CentOS5的風格。  
  10. id:3:initdefault: 

2、執行初始化系統腳本 /etc/rc.d/rc.sysinit 來初始化腳本

這個大家有機會可以讀讀,腳本主要的作用如下:

  1. # 擷取網絡環境與主機類型。首先會讀取網絡環境設定檔案"/etc/sysconfig/network",擷取主機名稱與預設網關等網絡環境。  
  2. # 答應文本歡迎資訊。  
  3. # 挂載/etc/fstab檔案中定義的其它檔案系統。  
  4. # 激活swap  
  5. # 檢測根檔案系統,并以讀寫方式重新挂載  
  6. # 決定是否啟動SELinux和udev。  
  7. # 接口裝置的檢測與即插即用(pnp)參數的測試。  
  8. # 使用者自定義子產品的加載。使用者可以再"/etc/sysconfig/modules/*.modules"加入自定義的子產品,此時會加載到系統中。  
  9. # 加載核心的相關設定。按"/etc/sysctl.conf"這個檔案的設定值配置功能。  
  10. # 設定系統時間(clock)。  
  11. # 設定終端的控制台的字形。  
  12. # 設定raid及LVM等硬碟功能。  
  13. # 以方式檢視檢驗磁盤檔案系統。  
  14. # 進行磁盤配額quota的轉換。  
  15. # 重新以讀取模式載入系統磁盤。  
  16. # 啟動quota功能。  
  17. # 啟動系統随機數裝置(産生随機數功能)。  
  18. # 清楚啟動過程中的臨時檔案。  
  19. # 将啟動資訊加載到"/var/log/dmesg"檔案中。 

3、然後執行 /etc/rc.d/rc 腳本

此腳本運作的時候此腳本的時候,會讀取/etc/rc.d/rc3.d/下的所有腳本,來控制系統啟動的時候啟動或者關閉那些服務

centos6.5啟動過程
  1. # 這裡面的腳本大緻分為 2 類,以 S 開頭的和以 K 開頭的腳本。  
  2. # S 代表開機時啟動的,K 表示開機時不啟動。  
  3. # 每個檔案的命名格式,例如:S01sysstat S 開機啟動 01 啟動次序 sysstat 啟動腳本名  
  4. # 啟動的定義是在每個腳本中定義的:例如  
  5. # # chkconfig: - 85 15  
  6. # 預設級别 啟動次序 不啟動次序 

這些腳本是否開機自啟動,可由 chkconfig 指令來管理。

  1. # 常用選項:  
  2. # chkconfig --add SRV_SCRIPT 可以将自己寫的一些腳本,讓此指令統一管理。例如:chkconfig --add httpd  
  3. # chkconfig --del SRV_SCRIPT 将服務删除,意思就是服務不由chkconfig這種機制來管理  
  4. # chkconfig SRV_SCRIPT {on|off} 設定服務開機是否自啟動,預設管理的級别是2345.  
  5. # --level 2345 等,指定預設級别,可以與其他選項一起使用 

4、執行/etc/rc.d/rc.local腳本,此腳本是啟動過程中最後啟動的一個腳本。

最後會執行 /bin/login 登入使用者。至此系統啟動過程完成。

繼續閱讀