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。至于其他参数,不到万不得已,不去修改,而且每次仅修改一个。

你可能感兴趣的:( ,RHEL5启动流程)