一、启动过程
1.
过程:开机→加载
BIOS
,硬件自检,取得第一个开机装置的代号→读取
MBR
中的启动引导程序(如
grub
,
lilo
)→启动
linux
内核→由内核运行
init
进程,根据
init
配置文件进入指定的运行级别→根据
init
配置文件中的设置启动相应的服务程序→运行控制台程序,提示用户输入账号密码
二、运行级别
1.
在
linux
中分为
7
个级别,用数字
0-6
代表
0
:停机,不要把系统默认的运行级别设置为
0
1
:单用户模式,用于
root
用户对系统进行维护,不允许其他用户使用主机
2
:多用户模式,在该模式下不能使用
NFS(
网络文件系统,即不能联网
)
3
:完全多用户模式,主机作为服务器时使用该模式
4
:未分配使用
5
:图形登录的多用户模式,使用
Linux
的图形界面操作环境,一般个人使用该模式
6
:重新启动,不要把系统默认的运行级别设置为
0
2.
显示系统当前的运行级别
1
)命令格式:
runlevel
2
)运行结果
X Y (X,Y
都是
0-7
数字
)
如
1 5
X
表示上次的运行级别,当
X
为
N
时表示,系统中不存在上次运行的级别
Y
表示当前所在的运行级别,
3.
改变系统运行级别
1
)命令格式:
init [0 1 2 3 4 5 6]
2
)要改变运行级别时,输入
init
级别
就可
三、系统服务程序在各个运行级别的启动状态(即
系统进入这个级别时,服务程序运不运行)
1.
命令
chkonfig
2.
作用,查看和设置系统中所有服务在各运行级别中启动的状态,包括
xinetd
服务管理的服务程序(
xinetd
服务管理的服务程序即非独立的服务程序)
3.
查看全部服务启动状态:
1
)格式
chkconfig --list
4.
查看某个服务启动状态
1
)格式
chkconfig --list
服务名称
如
chconfig �Clist kudzu (
查看
“
自动检测硬件(
kudzu
)”
这个服务在启动时的运行状态
)
2
)输出(显示)的格式:
服务名称
0
:
off/on 1: off/on 2: off/on 3: off/on 4: off/on 5: off/on 6: off/on
off
:关闭,不运行
on
:(启用
运行)
如
kudzu 0:
关闭
1:
关闭
2:
关闭
3:
启用
4:
启用
5:
启用
6:
关闭
表示:
kudzu
服务
在
0
运行级别启动时是不运行的
1
不运行的
2
不运行的
3
启动运行
4
运行
5
运行
6
不运行
5.
设置独立服务的启动状态
1
)命令格式
chkconfig --level
运行级别列表
服务名称
[no/off/reset]
运行级别列表
0-6
可以是以个也可以是多个
服务名称:独立的
no
开启
off
关闭
reset
重置,恢复到安装
Linux
时默认的状态
2
)例如
chkconfig �Clevel 24 syslog on
表示在设置
syslog
服务在
2 4
运行级别中为开启
6.
设置非独立服务的启动状态
1
)命令格式
chkconfig
服务名称
on/off/reset
服务名称:非独立的,依赖于
xinetd
服务进程启动的服务
no
开启
off
关闭
reset
重置,恢复到安装
Linux
时默认的状态
2
)记住,每次对非独立的服务启动进行了更改,要重启
xinetd
服务
即用
service xinetd restart
重启
xinetd
服务
四、
INIT
进程
1.INIT
进程:
INIT
进程是有
linux
内核引导运行的,是相同中运行的第一个进程,进程号为
1
2.INIT
的配置文件
-------inittab
位于
/etc/inittab
3.inittab
文件解析
1
)作用:用于描述系统启动时和正常运行中将运行哪些进程
2
)每行的格式
id
:
runlevels
:
action
:
process
即
ID
:级别:动作:命令
如
1
:
2345
:
respawn
:
/sbin/mingetty tty1
3
)有
#
开头的表示注释行
4.id
字段:表示
inittab
文件中唯一的标识一个配置记录,由
1-4
个字符组成可以是数字或字母
把
id
字段
理解为一个配置记录的名字
5.runlevels
字段(级别):指定该记录在哪些运行级别中运行,由
0-6
组成,可以是以个运行级别,也可以是多个运行级别
6.action
字段(动作):描述记录将执行那种类型的动作,常见设置有:
initdefault
、
sysinit
、
wait
、
ctrlaltdel
、
powerfail
、
powerokwait
、
respawn
1
)
initdefault
①用于标识系统启动后进入那个运行级别
②如
id:5:initdefault:
表示系统进入时,进入第
5
个级别
③在前面加
#
时,表示注释这行,启动时会提示要你输入进入的级别
2
)
sysinit
①进程将在系统启动时在任何
boot
或
bootwait
类进程之前运行,使用时,
runlevels
字段将被忽略
②如
si::sysinit:/etc/rc.d/rc.sysinit
3
)
wait
①进程将进入指定运行级别后运行一次,
init
进程将等待其结束
4
)
ctrlaltdel
①用于指定按下
Ctrl+Alt+Delete
组合键后系统将要干什么
②如
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
按下组合键后,在字符界面时,将在
3
分钟后重启
③在前面加
#
时,表示注释这行,关闭此功能
5
)
powerfaill
①用来指定当
UPS
发来断电信号时,系统要运行的命令
6
)
powerokwait
①指定当供电恢复是要运行的命令
7)respawn
①进程结束运行后会重新起点运行
②如
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
7.process
字段(命令):设置的是启动进程所执行的命令
五、系统初始化脚本
1.
使用
rc.sysinit
作为系统的初始化脚本
2.
位置:
/wct/cr.d/
目录中
六、
rc.local
脚本
1
.在系统启动过程中,执行网初始化脚本后,执行
rc.locl
脚本
2.
位置:
/etc/rc.local
3.
相当于
windows
系统中的“启动”即开机后执行这里面的程序
七、服务程序的操作
1
.命令格式
sevrvice
服务名
[start/stop/restart/starus]
服务名称:任何服务程序
start
:开启
stop
停止
restart
重启
starus
:查询服务程序的运行状态
2.
命令还可以写成:要设置的服务的绝对路径
[start/stop/restart/starus]