Linux系统开机启动过程
1、打开计算机电源,开始读取BIOS并进行主机的自我测试;
2、通过BIOS取得第一个可开机设备,读取主要开机区MBR取得启动装载程序;
3、通过启动装载程序的设置,取得kernel并加载内存且检测系统硬件;
4、在硬件驱动成功后,内核主动调用init进程,init会取得run-level信息;
5、init进程开始执行系统文件(/etc/rc.d/rc.sysinit),初始化软件操作环境(如网络、时区等);
6、依据init的设置进行daemonstart(/etc/rc.d/rc[0-6].d/*),执行run-level的各个服务的启动;
7、加载本机设置(/etc/rc.d/rc.local);
8、init执行终端机模拟程序mingetty来启动login进程,最后等待用户登录。
系统服务文件 | 说明 |
---|---|
stand_alone | 可以自行单独启动的服务。 |
super_daemon | 一个特殊的daemon来统一管理。 |
/etc/services | 服务与端口号对应关系。 |
/etc/init.d/* | 服务启动脚本放置位置。 |
/etc/sysconfig/* | 各服务的初始化环境配置文件。 |
/etc/xinetd.conf | super_daemon 配置文件。 |
/etc/xinetd.d/* | super_daemon所管理的其他daemon的放置位置。 |
/etc/* | 各服务各自的配置文件。 |
/var/lib/* | 各服务产生的数据库。 |
/var/run/* | 各服务的程序的pid记录处。 |
/etc/hosts.deny | 服务允许(ip、域、主机名)访问的写入此文件。 |
/etc/hosts.allow | 服务不允许(ip、域、主机名)访问的写入此文件。 |