一.启动流程
- 1.bios找到磁盘上的mbr主引导扇区
- 2.进入grub界面选择相应的启动内核
- 3.读取kernel内核文件-/boot/bmlinuz-*
- 4.读取init的镜像文件-/boot/initrd-*
- 5.init去读取/etc/inittab
- 6.读取启动级别(id:3:initdefault)
- 7.读取/etc/rc.d/rc.sysinit,完成时钟设置,主机名的设置,分区表的挂载(/etc/fstab)
- 8.读取/etc/rc.d/rc脚本,通过该脚本吸收3级,然后启动/etc/rc.d/rc3.d下所有以S开头的服务,不启动该目录下以K开头的服务
- 9.读取/etc/rc.d/rc.local脚本
- 10.进入登录界面
一.初始化阶段:
- 1.grub引导界面
- 2.识别硬件
- 3.初始化驱动
二.加载/etc/rc.d/rc.sysinit系统初始化脚本
- 4.进入欢迎界面
- 5.设置时钟
- 6.设置主机名
- 7.挂载文件系统
- 8.挂载光驱
- 9.进入3级别
- 10.启动虚拟内存
- 11.设置磁盘阵列
三.加载/etc/rc.d/rc进程管理脚本
- 12.设置防火墙
- 13.检测硬件变化
- 14.启动网络服务
- 15.启动3级别下允许启动的进程(比如ssh)
- 16.进入登录界面
运行级别
0 关机
1 单用户
2 不支持nfs(网络文件系统)
3 字符界面
4 未被使用
5 图形界面
6 重启
更改系统运行级别: init 0 | 3 | 5 |6
查看运行级别: runlevel
如何设置服务脚本在某个级别下开启或关闭:
- 1.查看sshd服务在所有级别下的开启关闭状态
chkconfig --list sshd - 2.sshd服务在3,5级别下开启
chkconfig --level 3 sshd on - 3.sshd服务在3,5级别下关闭
chkconfig --level 3 sshd off - 4.快速设置sshd服务在2,3,4,5级别下开启
chkconfig sshd on - 5.快速设置sshd服务在2,3,4,5级别下关闭
chkconfig sshd off
源代码软件
- 1.服务脚本
/usr/local/apache2/bin/apachectl - 2.开启
/usr/local/apache2/bin/apachectl start|stop - 3.开机启动
vi /etc/rc.d/rc.local
/usr/local/apache2/bin/apachectl start
源代码安装三部曲:
- 1.生成配置文件
./configure --prefix=/usr/local/apache - 2.编译
make - 3.安装
make install
RPM软件包
- 1.脚本服务
/etc/rc.d/init.d/httpd - 2.开启或关闭
service httpd start|stop - 3.开机启动
chkconfig --level 3 httpd on
自定义服务脚本开机启动
一.把服务脚本改造成标准rpm脚本
#chkconfig: 2345 90 20
#description:Mytest server daemon
二.通过service把自定义脚本进行开启和关闭
service mytest start | stop | restart
三.通过chkconfig把自定义脚本设置开机启动
chkconfig mytest on
chkconfig mytest off
自定义服务脚本开机启动(二)
直接在/etc/rc.d/rc.local里设置启动的脚本语句即可
自定义服务脚本开机启动(三)
单独制作一个脚本文件,然后配置到init.d文件夹下即可,方法如下:
1.自己定义脚本格式如下:
必须添加的
<pre>
!/bin/sh
chkconfig: 2345 80 80
description: auto start web server
</pre>
2.把定要好的脚本赋可执行权限
chmod +x <自己的脚本>
3.copy 到 /etc/init.d/
cp <自己的脚本> /etc/init.d/
chkconfig --add <脚本名> // 添加
chkconfig --list <脚本名> // 查看
这两种启动方式 一定注意 环境变量
4.测试开启mytest
service mytest start