Linux启动与运行级别
当按下主机的电源开关Power键时,主机开始加电,系统开始被启动。
Linux系统的启动与初始化经过以下4个阶段:
(1)计算机本身BIOS程序开机(power on self test)自检,如果发现致命错误,系统BIOS就会直接控制喇叭发声报告错误。
(2)bootstrap loader的引导程序grub(或 lilo)运行,它负责从磁盘中读入真正的操作系统程序,具有以下功能:
提供选项:用户可以选择不同的开机项目。
载入内核文件:直接指向可开机的的程序区段来开始运行操作系统。
转交其他loader:将开机管理功能转交给其他loader负责。
grub程序一般位于/boot/grub目录中.
(3)Linux内核部分解压缩到主存储器中,并利用内核的功能测试与驱动各个周边设备、硬件。
内核文件一般会放置到/boot里面,并取名为/boot/vmlinuz。
Linux内核(动态加载)模块放在/lib/modules目录内。
(4)Linux初始化进程init运行,进程号(PID)为1。
系统初始化配置文件/etc/inittab。其中id:5:initdefault语句指示了系统默认启动的运行级别。
Linux的运行级别:
运行级别 | 功能说明 |
0 | 系统停机状态(关机) |
1 | 单用户工作 |
2 | 多用户状态(没有NFS) |
3 | 多用户状态(具有NFS) |
4 | 系统未用,保留给用户 |
5 | XLL控制台(Xdm,Gdm,Kdm) |
6 | 系统正常关闭并重新启动 |
如需要系统启动默认进入字符界面,可以修改id后面的运行级别为3,即id:3:initdefault,重启Linux系统后生效。
Linux服务的启动脚本
在Linux中,每个服务都会有相应的服务启动脚本,全部位于/etc/rc.d/init.d 目录下。
系统中的各个运行级别有独立的脚本目录,其目录名分别为 rc0.d~rc6.d,各个运行级别脚本目录下的脚本,都指向服务脚本目录(/etc/rc.d/init.d)。
/etc/rc.d/rc.local 文件中可以存放初始化脚本,其内容是被系统自动执行的。
脚本管理
1、service命令
在/etc/rc.d/init.d 目录下,service命令可对脚本进行控制:service script-name [start|stop|restart|status]。
2、chkconfig命令
chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。
常用选项及用法如下:
chkconfig 服务名 [on/off] 将当前运行级别下的某个服务打开或关闭。
chkconfig --list|more 分屏显示当前运行级别下服务状态。
chkconfig --level 234 服务名 on 开启某个运行级别下的服务。
chkconfig --add 服务名 在当前运行级别下添加某个服务。
chkconfig --del 服务名 在当前运行级别下删除某个服务。
chkconfig没有参数运行时。 显示当前运行级别下服务的开启状态。