仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 567|回复: 10
打印 上一主题 下一主题

[其他Linux] 带来一篇upstart 和ubuntu启动历程道理先容

[复制链接]
金色的骷髅 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 13:55:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
买一本命令参考手册是必要的,遇到不知道怎么用的命令可以随时查询,这要比查man文档快.特别适合英语不好。
ubuntu从6.10入手下手慢慢用upstart取代本来的sysinit,举行服务历程的办理。也恰是从6.10入手下手,ubuntu的启动历程入手下手变得有点“变化多端”。也没举措,这是正在开辟中的upstart不成制止的。为了对原本的init完成向后兼容,upstart能够说是在表象上保存了年夜部分本来init的特征,因此今朝linux初始化历程名仍旧叫init,而改动的中心,乃是Event机制。了解并讲分明这个改动的主要意义和内涵机理可不是件简单的事,以是我只盘算研讨一下今朝upstart(0.3.9,ubuntu8.04)在体系启动中的表象举动。[注:据ScottJamesRemnant在其博客上所说,upstart0.5.0版本将在将来几周公布。]
关于体系启动,熟习Linux的人年夜多应当晓得,init历程(PID=1)乃是一切历程的父历程,一切历程由它把持。init历程的运转工夫是内核完成文件体系的加载后。那末init历程是怎样开启体系中的别的历程的呢?在论述这个成绩之前,大抵地申明一下今朝ubuntu中与init相干的几个目次和使用程序,能够便利前面的叙述。这些目次和程序包含:
init
telinit
runlevel
/etc/event.d/
/etc/init.d/
/etc/rcX.d/

前三个是使用程序(注重哦,它们都不是shell剧本),能够了解为是由内核挪用的。关于它们的功效,从manpage检察就能够了。我们的重点是前面给出的三个目次。
起首是/etc/event.d/目次,这是upstart的中心,upstart分歧于原本的init的中央就在于它引进了event机制。Event机制普通的讲就是将一切历程的触发、中断等等都看做event(事务)。/etc/event.d/中就寄存了今朝upstart必要辨认的event。这个中次要有三种rc-default,rcX(x=0,1,...6,S)和ttyX。这rc-default就相似于那赫赫有名的inittab文件,它就是设置默许运转级其余[注:upstart中实践并没有运转级其余观点,这么称号是为了init向后的兼容性]。如今你应当晓得了ubuntu里没有了inittab文件后该到那里设置默许运转级其余了吧!catrc-default一下吧!rcX文件是产生响应运转级别事务(能够注重到event这个词在upstart里真是无处不见啊)时,必要运转程序的剧本,而ttyX则是设置伪终端数量的,也就是你Ctrl+Alt+F(1~6)修改的谁人Console。我们以rc2为例,catrc2:
startonrunlevel2
stoponrunlevel[!2]
consoleoutput
script
set$(runlevel--set2||true)
if["{GetProperty(Content)}"!="unknown"];then
PREVLEVEL={GetProperty(Content)}
RUNLEVEL=$2
exportPREVLEVELRUNLEVEL
fi
exec/etc/init.d/rc2
endscript

..
不往思索细节,只需注重到前两行和倒数第二行就能够了。能够看到,rc2文件是界说在产生运转级别2的时分所要实行的器材,中心就是这句:exec/etc/init.d/rc2。如许,我们就能够天然地过渡到下一个主要的目次,/etc/init.d/了。
你能够ls/etc/init.d/看一下内里的内容,对它有个大抵的懂得。/etc/init.d/中寄存的是服务(services)大概义务(tasks)的实行剧本。能够这么说,只需你安装了一个程序(出格是服务程序daemon),它能够在体系启动的时分运转,那末它一定会在/etc/init.d/中有一个剧本文件。我们还回到下面的rc2文件,它实行了一个exec/etc/init.d/rc2的命令。也就是说,给/etc/init.d/rc剧本传送了一个参数"2",让它实行。我们细心检察一下rc剧本(很长,耐烦点),能看到如许的一段:
#NowruntheSTARTscriptsforthisrunlevel.
#Runallscriptswiththesamelevelinparallel
.......
forsin/etc/rc$runlevel.d/S*
.......


这申明,当给rc剧本传送一个数字参数"X"的时分,它在经由一系列的设置后,将会入手下手实行/etc/rcX.d/下S开首的剧本。这就过渡到下一个目次/etc/rcX.d/了。
进进/etc/rcX.d/,ls-l/etc/rcX.d/看看有些甚么内容?哈哈,没错,都是一些到/etc/init.d/中剧本的标记链接。分歧的是它们的开首加上了S和一个数字。熟习底本init的人应当晓得,S暗示在启动时运转,数字则暗示实行的前后按次。
如许一来,upstart办理的ubuntu启动历程应当就分明了。梳理一下:
1,内核启动init
2,init找到/etc/event.d/rc-default文件,断定默许的运转级别(X)
3,触发响应的runlevel事务,入手下手运转/etc/event.d/rcX
4,rcX运转/etc/init.d/rc,传进参数X
5,/etc/init.d/rc剧本举行一系列设置,最初运转响应的/etc/rcX.d/中的剧本
6,/etc/rcX.d/中的剧本按事前设定的优先级顺次启动,直至最初给出登录画面(启动X服务器和GDM)
了解了这些,手动设置开机服务的启动与否就很复杂了。Ubutnu默许的启动级别是2,不想启动的程序,只需把响应的标记链接从/etc/rc2.d/中删往便可

</p>
初学阶段只要把上课时候学习过的命令练熟就可以了.单靠学习各种命令而成为高手是不可能的。
透明 该用户已被删除
沙发
发表于 2015-1-18 11:15:49 | 只看该作者
Linux的成功就在于用最少的资源最短的时间实现了所有功能,这也是符合人类进化的,相信以后节能问题会日益突出。
简单生活 该用户已被删除
板凳
发表于 2015-1-25 23:13:33 | 只看该作者
Linux最大的特点就是其开源性,这一点是十分难得的,这也是它能够存在到现在的原因之一。
再现理想 该用户已被删除
地板
发表于 2015-2-4 13:36:18 | 只看该作者
把这个问题放在其他Linux社区请求帮助也是一种选择。如果Linux得不到答案,请不要以为我们觉得无法帮助你。有时只是看到你问题的人不知道答案罢了。这时换一个社区是不错的选择。
山那边是海 该用户已被删除
5#
发表于 2015-2-10 00:17:27 | 只看该作者
永中office 2004增强版安装只需要默认安装即可使用并操作大多与win系统雷同,打印机的配置和管理,记录光盘等。
因胸联盟 该用户已被删除
6#
发表于 2015-2-28 10:38:03 | 只看该作者
一定要养成在命令行下工作的习惯,要知道X-window只是运行在命令行模式下的一个应用程序。在命令行下学习虽然一开始进度较慢。
活着的死人 该用户已被删除
7#
发表于 2015-3-9 22:45:58 | 只看该作者
得到到草率的回答或者根本得不到任何Linux答案。越表现出在寻求帮助前为解决问题付出的努力,你越能得到实质性的帮助。
不帅 该用户已被删除
8#
发表于 2015-3-17 03:09:14 | 只看该作者
另外Linux上也有很多的应用软件,安装运行了这些软件后,你就可以在Linux上编辑文档、图?片,玩游戏、上网、播放多媒体文件等。
若天明 该用户已被删除
9#
发表于 2015-3-17 03:09:14 | 只看该作者
一定要养成在命令行下工作的习惯,要知道X-window只是运行在命令行模式下的一个应用程序。在命令行下学习虽然一开始进度较慢。
柔情似水 该用户已被删除
10#
发表于 2015-3-17 03:09:18 | 只看该作者
熟悉系统的基本操作,Linux的图形界面直观,操作简便,多加上机练习就可熟悉操作,在Linux下学习办公软件等常用软件。
小妖女 该用户已被删除
11#
发表于 2015-3-23 18:10:30 | 只看该作者
要增加自己Linux的技能,只有通过实践来实现了。所以,赶快找一部计算机,赶快安装一个Linux发行版本,然后进入精彩的Linux世界,相信对于你自己的Linux能力必然大有斩获。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-27 21:19

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表