1. 程式人生 > 實用技巧 >RHEL 啟動流程分析

RHEL 啟動流程分析

162930464.jpg

1、MBR

2、Grub

161913535.jpg

3、系統啟動始程序 init

(1)、/etc/inittab

系統啟動指令碼
執行執行級別對應目錄下的指令碼
設定熱鍵
定義UPS裝置指令碼
在虛擬控制檯上迴圈開啟getty程序
定義runlevel 5時的X顯示管理器

(2)、/etc/rc.d/rc.sysinit是系統啟動用的指令碼,從/etc/sysctl.conf中讀取核心引數

設定系統時鐘
載入keymap
啟用swap分割槽
設定主機名
檢查根檔案系統並重新掛載
載入Raid裝置
啟用磁碟限額
檢查並掛載其他檔案系統
清除失效鎖及PID檔案

(3)、/etc/rc.d/rcX.d 每個執行級別都對應一個/etc/rc.d/rcX.d目錄,是/etc/init.d/連結檔案

啟動相應級別的服務

(4)、/etc/rc.d/rc.local 開機指令碼

4、使用者登入驗證(略)

5、shell引數設定

login shell讀取的配置檔案(個性化需求,建議修改~/.bash_profile

162615332.jpg

no-login shell讀取的配置檔案:~/.bashrc

6、使用者登出 ~/.bash_logout

附一:/etc/sysctl.conf

163424436.jpg

附二:/etc/security/limits.conf

是PAM認證模組 pam_limits.so 的配置檔案, 用來限制使用者資源消耗

通常系統管理員新增ulimit命令到/etc/profile或~/.bash_profile中,或者直接在shell中敲ulimit命令設定

如果希望/etc/security/limits.conf生效,需確認/etc/pam.d/login 檔案中有:

session required /lib/security/pam_limits.so

163622669.jpg

在整個系統啟動所涉及的檔案中,有以4個檔案可能需要系統管理員設定(也可保持預設值)。

/etc/inittab 系統啟動級別,預設5

/etc/profile(或~/bash_profile) shell環境設定

/etc/sysctl.conf 系統核心引數

/etc/security/limit.conf 使用者資源消耗

本人的經驗是,1個主機1個應用,/etc/sysctl.conf、/etc/security/limit.conf參照應用推薦值修改,像ORACLE有非常詳細的引數要求說明。

為某個使用者(通常是應用系統使用的使用者)設定某些個性化shell引數,設在~/.bash_profile,很少去改/etc/profile。至於其他引數,不到萬不得已,不去修改,而且每次僅修改一個。

轉載於:https://blog.51cto.com/1216621479/1298254