简单总结
1 启动过程
init 进程通过/etc/inittab来决定启动的顺序和工作流程 init会执行所有/etc/runlevels/boot目录下的符号链接所指向的/etc/init.d目录下的脚本, 当/etc/runlevels/boot目录所引用的脚本都执行完毕后,将继续运行/etc/runlevels/default目录下的符号链接所指向的脚本
相关说明
在inittab有运行级别的定义
l1:S1:wait:/sbin/rc single
l2:2:wait:/sbin/rc nonetwork
l3:3:wait:/sbin/rc default
l4:4:wait:/sbin/rc default
l5:5:wait:/sbin/rc default
l6:6:wait:/sbin/rc reboot
下面的定义
si::sysinit:/sbin/rc sysinit
这是init进程将初始化交给rc 由/sbin/rc sysinit来初始化系统,/sbin/rc脚本是负责系统初始化的
在rc::bootwait:/sbin/rc boot中
rc脚本的参数(boot)和要用的/etc/runlevels的子目录是一样的。
rc 执行完了以后 init将会决定哪些虚拟终端需要被激活以及每个终端需要运行什么样的命令:
在inittab中有以下定义
c1:12345:respawn:/sbin/agetty 38400 tty1 linux
c2:12345:respawn:/sbin/agetty 38400 tty2 linux
c3:12345:respawn:/sbin/agetty 38400 tty3 linux
c4:12345:respawn:/sbin/agetty 38400 tty4 linux
c5:12345:respawn:/sbin/agetty 38400 tty5 linux
c6:12345:respawn:/sbin/agetty 38400 tty6 linux
这段代码定义了当运行在某个运行级别上的时候哪些虚拟终端需要被激活以及每个终端需要运行什么样的命令
2 启动服务和调整
/etc/init.d/xxxx status 查看服务运行状态
/etc/init.d/xxxx zap 手动把信息设置为停止
/etc/init.d/xxxx ineed 查看依赖服务
/etc/init.d/xxxx needsme哪些服务需要这个服务(needsme)或者哪些服务可以使用这个服务(usesme)
rc-update add xxx default 添加服务到default 级别
rc-update del xxx default 删除服务
rc-update -v show 命令将会显示出所有已存在的初始化脚本,并列出它们在哪个运行级别中运行
增加独立的额外配置 这样做的好处是重装某个软件后不会覆盖自己的配置
gentoo的配置是在/etc/conf.d