快速业务通道

gentoo系统启动初始化

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-26

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 linuxc2:12345:respawn:/sbin/agetty 38400 tty2 linuxc3:12345:respawn:/sbin/agetty 38400 tty3 linuxc4:12345:respawn:/sbin/agetty 38400 tty4 linuxc5:12345:respawn:/sbin/agetty 38400 tty5 linuxc6: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.dgentoo官方文档的参考www.gentoo.org/doc/zh_cn/handbook/handbook-x86.xml,你的引导程序会把你在引导程序配置文件中定义的内核镜像加载到内存中,之后它就告诉CPU可以运行内核了.当内核被加载且运行后,内核会初始化所有内核专有的结构体和任务,并开启init进程.

然后,这个进程确保所有的文件系统(在/etc/fstab中定义的)都已被挂载且能使用.接着,该进程会执行位于/etc/init.d下的一些脚本,这些脚本会启动一些你需要的服务,以使你能获得一个成功启动的系统.

最终,当所有的脚本执行完毕,init将激活终端(大多情况下只是激活虚拟终端,可以使用Alt-F1、Alt-F2等来访问),并把一个叫agetty的特殊进程附于其上.这个进程会确保你可以通过运行login从这些终端登录到你的系统中.

gentoo不会随机的执行/etc/init.d下的脚本.甚至,它不会运行/etc/init.d下所有的脚本,只会去执行/etc/runlevels 下的

init会运行所有/etc/runlevels/boot目录下的符号链接所指向的/etc/init.d目录下的脚本.通常,它会按照字母顺序执行这些脚本,但是有些脚本中含有依赖关系,意味着系统要在执行另一个脚本之后才能运行此脚本.

当/etc/runlevels/boot目录所引用的脚本都执行完毕后,init将继续运行/etc/runlevels/default目录下的符号链接所指向的脚本.同样它们会按照字母顺序执行这些脚本,除非一个脚本有依赖关系,那样的话现有次序就会被改变以使启动顺序更加合理.

当然init自己不会决定所有的启动顺序.它需要一个配置文件来指定它的工作流程.这个配置文件就是/etc/inittab.

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号