ubuntu 的启动级别(runlevel),自己的心得。

新手涉及到的教学或入门贴,推荐新手必看,版主维护
livizy
帖子: 109
注册时间: 2007-10-02 23:53
送出感谢: 1 次
接收感谢: 0

ubuntu 的启动级别(runlevel),自己的心得。

#1

帖子 livizy » 2010-04-02 22:53

为了让vidalia启动tor和polipo,而不是让他们自己作为服务运行,我了解了一番有关ubuntu 的启动级别,google了一番,读了点English,再#ubuntu-cn请教了一番,写下自己的心得,希望对大家有帮助,更希望大牛给斧正。下面进入正文:


在linux的世界里,所有的linux操作系统都有一个启动级别的概念,启动级别控制着系统启动后所加载的各种功能的不同,实质是在启动后运行各种服务(servcie||daemon)。这里的服务是和windows里的服务的概念相似的,是一种在系统后台独立运行的程序,也就是说他一般不予用户进行交互。

一般的linux分8个级别:0-6和一个'S'级别。0代表关机(halt),6代表重启(restart);1-5分别是不同功能的级别,其中1级别是单用户模式(single),2-5各有不同。但是在userlinux(包括ubuntu)中2-5级别是毫无差别的。最后'S'级别是一个比较特殊的级别,他应该是先于其他级别运行的级别。(这一点有待考证)。这里说明一下,0-6级别的运行是互斥的,而不是叠加运行,也就是说如果进入(move into)4级别,不是指0-3都要运行,而只是完成4级别里所规定的服务。

稍微观的观察ubuntu运行级别的完成会发现,所有的运行服务的脚本存储在/etc/init.d/里面。而在/etc/中有rc'X'.d的文件夹,'X'代表0-6和X,也就对应了这8个启动级别,里面就都是指向/etc/init.d/里面运行服务的脚本的软连接(symbol link),会发现,软连接的数目少于运行脚本数,这就是说不是所有服务都要在一个级别中运行的。软连接的命名是有规则的:[K|S][0-90-9][name],K代表kill,S代表start,后面是个二位数,最后是对应的运行服务的脚本文件名。这个名字是在运行相应的脚本的时候传递的参数,K是传递stop(就是关闭服务),S是传递start(就是启动服务)。
运行顺序:K小数->K大数->S小数->S大数。这里注意文件夹里的所有软连接都会被执行,不论K或者S。

这里补充一下,多数的linux都是用一种叫System V的机制来启动运行级别(好像是串行的,慢?),而ubuntu是用的另一种机制叫startup(好像是并行的,快?),所以没有那个inittab文件改默认运行级别。ubuntu9.10前好像还能兼容inittab,但是9.10开始就不行了,而且9.10里面设置默认运行级别的文件都和ubuntu之前的版本不同。ubuntu 9.10 的默认运行级别文件是这个/etc/init/rc-sysinit.conf的14行。

如果想要删除某个运行级别所要运行的服务,可以把相应rcX.d文件夹里的软连接名字的第一个字母小写(这个是debian的文章推荐的做法,也是bum的做法),也可以删除这个软连接(这个是sysv-rc-conf的做法)。当然自己也可以写好脚本然后创建软连接,就可以添加服务了。
上次由 livizy 在 2010-05-07 14:11,总共编辑 1 次。
livizy
帖子: 109
注册时间: 2007-10-02 23:53
送出感谢: 1 次
接收感谢: 0

Re: ubuntu 的启动级别(runlevel),自己的心得。

#2

帖子 livizy » 2010-04-02 22:58

关于具体的服务,大家可以google以下,有一个详细的讲解。

还有就是谁能告诉我怎么编辑格式?
头像
qiang_liu8183
论坛版主
帖子: 10687
注册时间: 2006-09-10 22:36
来自: 北京
送出感谢: 1 次
接收感谢: 6 次

Re: ubuntu 的启动级别(runlevel),自己的心得。

#3

帖子 qiang_liu8183 » 2010-04-02 23:11

顶一下
看破、放下、自在、随缘、念佛
真诚、清净、平等、正觉、慈悲
头像
HuntXu
论坛版主
帖子: 5776
注册时间: 2007-09-29 3:09
送出感谢: 0
接收感谢: 6 次

Re: ubuntu 的启动级别(runlevel),自己的心得。

#4

帖子 HuntXu » 2010-04-03 12:23

qiang_liu8183 写了:顶一下
HUNT Unfortunately No Talent...
头像
hcym
帖子: 15634
注册时间: 2007-05-06 2:46
送出感谢: 0
接收感谢: 2 次

Re: ubuntu 的启动级别(runlevel),自己的心得。

#5

帖子 hcym » 2010-04-03 12:29

学一下
livizy
帖子: 109
注册时间: 2007-10-02 23:53
送出感谢: 1 次
接收感谢: 0

Re: ubuntu 的启动级别(runlevel),自己的心得。

#6

帖子 livizy » 2010-04-03 15:40

特此感谢一下irc #ubuntu-cn的大牛们!
lwtyc
帖子: 100
注册时间: 2010-03-29 3:07
送出感谢: 0
接收感谢: 0

Re: ubuntu 的启动级别(runlevel),自己的心得。

#7

帖子 lwtyc » 2010-04-03 16:13

顶一下,菜鸟,没怎么看明白 :em11
rediscover
帖子: 3173
注册时间: 2010-01-13 23:26
送出感谢: 0
接收感谢: 12 次

Re: ubuntu 的启动级别(runlevel),自己的心得。

#8

帖子 rediscover » 2010-04-03 18:54

HuntXu 写了:
qiang_liu8183 写了:顶一下
Here I am.
Ubuntu 桌面培训 - 全中文官方文档,含汉化截图,提供PDF
头像
qingdaoocean
帖子: 2753
注册时间: 2009-05-16 8:47
送出感谢: 0
接收感谢: 2 次

Re: ubuntu 的启动级别(runlevel),自己的心得。

#9

帖子 qingdaoocean » 2010-04-03 19:01

rediscover 写了:
HuntXu 写了:
qiang_liu8183 写了:顶一下
“飞达”——武汉理工大学开源技术协会http://vedaclub.org/
头像
leeaman
帖子: 30702
注册时间: 2007-02-02 18:14
系统: debian sid
送出感谢: 1 次
接收感谢: 23 次

Re: ubuntu 的启动级别(runlevel),自己的心得。

#10

帖子 leeaman » 2010-04-03 19:05

qingdaoocean 写了:
rediscover 写了:
HuntXu 写了:
qiang_liu8183 写了:顶一下
醉了星星,醉月亮●●●●●The Long Way To Go(*^_^*)
头像
nmsfan
帖子: 18958
注册时间: 2009-10-16 22:46
来自: finland
送出感谢: 16 次
接收感谢: 36 次

Re: ubuntu 的启动级别(runlevel),自己的心得。

#12

帖子 nmsfan » 2010-04-25 19:16

leeaman 写了:
qingdaoocean 写了:
rediscover 写了:
HuntXu 写了:
qiang_liu8183 写了:顶一下
>>>>推Ubuntu 桌面培训~~<<<<
>>>>想加入/了解gimp汉化吗,点我吧~<<<<
——————————————————————
不推荐wubi,也不推荐你给别人推荐wubi…………
随心而为的感觉真好……
强推mayhem!!
强推ensiferum
头像
monk
帖子: 19507
注册时间: 2010-01-28 10:45
送出感谢: 6 次
接收感谢: 33 次

Re: ubuntu 的启动级别(runlevel),自己的心得。

#13

帖子 monk » 2010-04-26 0:10

:em11 :em11 :em11 :em11

*********宁静致远*********
如果我说的有什么不对,请看签名第一行
harrywonder_3
帖子: 14
注册时间: 2010-01-26 6:23
送出感谢: 0
接收感谢: 0

Re: ubuntu 的启动级别(runlevel),自己的心得。

#14

帖子 harrywonder_3 » 2010-04-28 5:26

学习了 :em11
yhui1286
帖子: 25
注册时间: 2008-03-20 21:46
送出感谢: 0
接收感谢: 0
联系:

Re: ubuntu 的启动级别(runlevel),自己的心得。

#15

帖子 yhui1286 » 2010-05-07 9:03

最后'S'级别是一个比较特殊的级别,他因该是先于其他级别运行的级别。
事实是这样的!
回复

回到 “教学和常见问答”