当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > RedHat 开机起动流程

Unix/Linux
FreeBSD5.4之apache-2.0.54+php+ZendOptimizer简单安装、设置
成功备份UNIX系统
在unix/bsd上让apache支持asp
OpenBSD3.6编译内核的方法
SSH到FreeBSD支持中文显示和输入
从硬盘安装freebsd
Openbsd 3.8上安装配置 APACHE + MYSQL + PHP + mod_limitipco
Squid基础与配置
Freebsd 6.0安装配置Apache+MySQL+PHP+Myphpadmin+Webmin
OpenBSD 3.8 release 架设FTP服务器
freeBSD5.4下安装配置apache2+php5+mysql5过程
freebsd vsftpd 配置方法
freebsd下jail命令说明
FreeBSD 6.2架设网站服务器教程图解
NetBSD 4.0 正式版官方下载地址
FreeBSD 7.0 正式版官方下载地址
FreeBsd 更新ports 的简单方法
用Quota来配置OpenBSD下磁盘限额
FreeBsd6.2下ports安装配置vsftpd
inter 千M网卡驱动安装和启用vlan.Polling抗拒绝服务

Unix/Linux 中的 RedHat 开机起动流程


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 142 ::
收藏到网摘: n/a

 
# 版权宣告: 1999 Copyright OLS3 All rights reserved.

# 作者: OLS3 (卧龙小三)
# 本讲义仅供台南县 87 学年度网路管理进阶研习班上课之用.
# 学员可保存一份自用, 供日後网管时参考备查.
# 作者保有一切形式的着作权.
# 欲作其它用途者, 需经作者授权同意.
# 未经作者授权同意之前, 请勿转载刊登.

RedHat 开机起动流程 :

1. LILO 取得控制权.

PC 起动时, 会读取开机磁碟第一条 cylinder 的第一个 sector(此即 MBR), 然後它会试着将读取到的程式码载入记忆体中并且予以执行. 这些程式码, 就是 LILO. 记不记得, 当初我们安装时, 曾选择将 LILO 放入MBR 呢?!

2. 载入 kernel

Red Hat 的 kernel 放在 /boot 中, 通常档名类似 vmlinuz-2.0.34-0.6, vmlinuz-2.2.5-15

3. kernel 执行第一支程式 /sbin/init

init 会根据 /etc/inittab 这个 initialization table 来决定不同的 run-level 应该如何设定系统.

Red Hat 的 run-level 有以下 7 层: (定义在 /etc/inittab 中)

0 --- halt : 关机 level 
1 --- Single user mode : 单人模式, 如果你忘记 root 密码, 这是补救的方式之一. 
2 --- Multiuser, without NFS : 多人使用模式, 但没有 NFS 功能, 如果安装时没有使用网路功能, 那麽 level 3 是一样的. 
3 --- Full multiuser mode : 这是预定的 run-level 
4 --- unused : 这个 run-level 目前尚未定义使用 
5 --- X11 : X Windows 使用的 level 
6 --- reboot : 重新开机时使用的 level 
Linux 系统开机时, 最重要的观念便是这个 run-level , run-level 可以说是 Linux 的系统状态(system states of Linux), 根据不同的情况进入不同的系统状态, 以执行不同的初始化动作.

另外一点, Linux 虽然融合了 System V 及 BSD 的特色, 但在开机起动的部份, 比较接近 System V 的作法, 并且这种方式几乎已成为 Linux 世界的一项标准. 因为它具有容易使用, 功能强大以及富有弹性的特色. 

其目录档案结构如下:

/etc/rc.d 中包含:

目录 script 档案 
/etc/rc.d/init.d 
/etc/rc.d/rc0.d 
/etc/rc.d/rc1.d 
/etc/rc.d/rc2.d 
/etc/rc.d/rc3.d 
/etc/rc.d/rc4.d 
/etc/rc.d/rc5.d 
/etc/rc.d/rc6.d 
 rc 
rc.local 
rc.sysinit 
 

rc0.d 便是 run-level 0 起动 script 存放的目录, rc3.d 是 run-level 3, 其它依此类推

不过, rc0.d ~ rc6.d 中的 script 并不是各自独立的, 其实它们都是 symbolic file, 连结到 /etc/rc.d/init.d 中的 script.

比如 rc3.d 目录中的档案列表如下:

total 0
lrwxrwxrwx  1 root  root  20 May 23 15:56 K15postgresql -> ../init.d/postgresql
lrwxrwxrwx  1 root  root  17 May 23 15:56 K20rusersd -> ../init.d/rusersd
lrwxrwxrwx  1 root  root  15 May 23 15:56 K20rwhod -> ../init.d/rwhod
lrwxrwxrwx  1 root  root  16 May 23 15:56 K55routed -> ../init.d/routed
lrwxrwxrwx  1 root  root  17 May 23 15:56 S01kerneld ->