1、系统引导过程
1)引导流程
开机自检BIOS—MBR引导—GRUB菜单—加载Linux内核—INIT进程初始化
GRUB的主配置文件是/boot/grub/grub.conf,/etc/grub.conf是其符号链接
在grub.conf文件中硬盘或文件的标识方法为:(驱动器号,分区)文件路径,驱动器号和分区从0开始
rhel5中,默认的内核文件位于/boot/vmlinuz-2.6.18-194.el5
2)init进程:/sbin/init是第一个加载的程序,其PID为1,init进程是维护整个系统运行的所有进程的始祖
3)/etc/inittab配置文件:init进程按照该文件中的配置内容依次启动系统中需要运行的脚本和程序
标记:运行级别:动作类型:程序或脚本
运行级别:指定该行配置对哪些运行级别有效
0 – 关机状态
1 - 单用户模式,不需要密码验证,多用于系统维护
2 – 字符界面多用户模式(不支持网络)
3 – 字符界面的完整多用户模式(大多数服务器运行在此级别)
4 – 暂未使用
5 - 图形界面的多用户模式(xwindow)
6 - 重新启动
动作类型:
initdefault:设置默认进入的运行级别
sysinit:设置系统初始化的操作脚本
wait:init进程将等待该行配置对应的脚本完成后,再继续进行其他操作
ctrlaltdel:设置当用户按下ctrl+alt+del组合键时的操作
powerfail:设置当系统收到断电信号时采取何种动作
powerokwait:设置当系统收到恢复供电信号时采取何种动作
respown:一旦该行配置所对应的进程被终止,则重新启动该进程
程序或脚本:指定所对应的实际操作
注:①runlevel查看运行级别、init N切换运行级别
②在级别 3下,输入init 5或startx&来启动图形界面,不能使用alt+F7
③在虚拟机中从级别5切换到级别3可能会比较卡
④修改/etc/inittab文件后需要重启或执行init q命令才能生效
4)/etc/rc.d/rc.sysinit脚本文件:系统初始化脚本,完成初始化工作,如主机名、网络、加载文件系统等
5)/etc/rc.d/rc脚本文件
通过指定不同的级别参数加载及停止不同的系统服务,进入相应级别,即rc脚本控制各种服务
rc脚本根据链接文件/etc/rc.d/rcn.d来启动或终止相关服务,原始服务脚本位于/etc/rc.d/init.d/目录中
对于rc脚本,当链接文件名以S开头时,表示启动对应服务,以K开头时表示终止对应服务
6)/etc/rc.d/rc.local额外的启动控制文件,可自行设置启动命令
2、服务管理
守护进程(daemon)是指在后台运行的进程,通常与某个服务相关联,如FTP服务、DNS服务等
1)服务状态控制
service 服务名 控制类型
/etc/init.d/服务名 控制类型
控制类型:start、stop、restart、reload、status
注:①/etc/init.d/目录中各种服务脚本,服务名特点:以字母“d”结尾,表示Daemon,守护进程
②/etc/init.d是/etc/rc.d/init.d的符号链接,通过这两个目录都可以找到服务对应的脚本文件
③一般情况下服务脚本的名称就是服务的执行文件名后加上字母d
2)服务启动类型控制
chkconfig配置工具
chkconfig --list //查看服务启动状态
chkconfig --level 35 服务名 on|off //设置独立服务的启动状态
chkconfig --add //增加系统服务,让chkconfig指令得以管理它
chkconfig --del //删除系统服务
ntsysv配置工具
交互式操作界面,适合配置大量服务的启动状态,也可使用setup文本模式配置工具
ntsysv --level 35 //对指定运行级别中的服务进行管理
3)服务类型
独立服务:
在启动后常驻内存,响应速度快,大多数服务都是独立服务
服务脚本位于/etc/init.d目录中,启动方式:server 脚本名 start
独立服务:atd、crond、autofs、cups、iptables、network、nfs、syslog、xinetd等
非独立服务:
又称为超级服务,启动后不会常驻内存,而是由一个名为xinetd的服务来管理
当用户请求这些服务时,由xinetd服务去唤醒这些超级服务,未使用时不会占用资源,响应速度较慢
配置文件位于/etc/xinetd.d目录中,配置文件名与服务名相同,启动方式:service xinetd restart
超级服务:telnet、tftp等
安装配置telnet服务
rpm -ivh /mnt/iso/Server/telnet-server-0.17-39.el5.i386.rpm
vi /etc/xinetd.d/telnet
disable = no
service xinetd restart
netstat -ntpl | grep 23
注:①xinetd服务自身是一个独立服务,通过service和chkconfig命令进行配置
②超级服务的配置文件默认都会继承/etc/xinetd.conf,xinetd.conf是超级服务的全局配置文件
③所有超级服务都由xinetd服务管理,所以当需要重启超级服务时只需要重启xinetd服务即可
3、内核模块
lsmod显示当前已装载的内核模块
modprobe装载内核模块
rmmod从内存中删除内核模块
4、/proc目录详解
proc文件系统是一个伪文件系统,只存在于内存中,其以文件系统的方式为访问系统内核数据提供接口
用户和应用程序通过proc可以得到系统的信息,并可以改变内核的某些参数
由于系统信息,如进程,是动态变化的,所以proc文件系统也是动态的从系统内核读取所需信息
proc文件系统被挂载到/proc目录中