当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 13 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 探讨ubuntu启动过程,init进程启动后为什么没有inittab文件?
帖子发表于 : 2009-07-15 19:47 

注册: 2009-01-30 18:18
帖子: 319
地址: 湖北十堰
送出感谢: 5
接收感谢: 3
我看了很多视频,init进程启动后,就启动脚本inittab,然后学习这个文件就知道linux是怎么启动各种服务了。可是我在ubuntu里没找到这个文件。那么ubuntu是怎么启动相关服务脚本。顺序是什么?


_________________
愿意同大家一起学习分享linux知识


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 探讨ubuntu启动过程,init进程启动后为什么没有inittab文件?
帖子发表于 : 2009-07-15 22:33 

注册: 2009-01-30 18:18
帖子: 319
地址: 湖北十堰
送出感谢: 5
接收感谢: 3
转自http://www.linuxdiyf.com/viewarticle.php?id=92001


因为debian 系衍生出来的linux 一向是没有使用/etc/inittab 作为登入状态文档来使用的。但是

虽然没有系统默认没有这个文件,但是你可以自己建一个inittab文件。

因为从/etc/event.d/中的rc-default文件中代码可以看出:

script
runlevel --reboot || true

if grep -q -w -- "-s\|single\|S" /proc/cmdline; then
telinit S
elif [ -r /etc/inittab ]; then
RL="$(sed -n -e "/^id:[0-9]*:initdefault:/{s/^id://;s/:.*//;p}" /etc/inittab || true)"
if [ -n "$RL" ]; then
telinit $RL
else
telinit 2
fi
else
telinit 2
fi
end script

系统会首先搜寻inittab文件,如果不存在,那么将运行在2级别上。所以你可以自己建个inittab文件,或者把相应的telinit 2 改为 telinit X(你想要运行的级别)

转到kubuntu之前曾经学习了一下,了解到ubuntu在6.10开始用upstart替代init,主要脚本都在/etc/event.d下面,默认情况下/etc下没有inittab文件。

刚装上kubuntu时候专门到/etc/event.d下看了一下,特别注意到rc-default这个脚本,里面有一段内容:

elif [ -r /etc/inittab ] then

说明默认情况下inittab虽然不存在,但是用户建立的inittab还是会被注意到的。

然后又经别人的指点看了一下/usr/share/doc/upstart/下面的文档,其中README.Debian中有这么一段内容:

这就给我这样一个印象,即虽然ubuntu用upstart替代init,但还是和init保持兼容。

今天正好需要将系统直接启动到字符界面下,即不启动kdm。

edit the /etc/inittab file

那就试试自建一个inittab文件,并按照以前的习惯写入一行id:3:initdefault: ,保存后重新启动,结果发现毫无变化,依然启动到桌面,有点纳闷,难道inittab不起作用?在终端里输入runlevel检查当前状态,显示 N 3,说明inittab有效果,那是什么原因呢?

将刚才建立的inittab移除,将系统恢复到之前的状态并重新启动,再用runlevel检查,显示 N 2,说明ubuntu系统的default runlevel可能是2,这和我以前的常识有些冲突,看来又需要学习了。

先去分别查看/etc/rc2.d至rc5.d下的内容,发现基本一致,都启动了kdm。这与其他的linux发行版不太一致,通常runlevel 3是Multi user mode,即直接登录到字符界面;而runlevel 5是Multi user mode with GUI,即登录到图形界面。

后来在Debian的FAQ里面搜索到这样的内容:

0(halt the system)
1(single-user mode)
2through5(various muli-user modes),and
6(reboot the system)

小区别就在这里了,看来debian以及衍生出来的发行版,如ubuntu的default runlevel确实是2,而且id 2至5都是一样的。

真相大白,再次建立inittab,写入id:3:initdefault: ,然后进入/etc/rc3.d,将S13kdm移动到其他目录备份起来,重新启动系统,如愿以偿进入字符界面。


_________________
愿意同大家一起学习分享linux知识


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 探讨ubuntu启动过程,init进程启动后为什么没有inittab文件?
帖子发表于 : 2009-10-16 1:15 
头像

注册: 2008-04-19 3:09
帖子: 6
送出感谢: 0 次
接收感谢: 0 次
好东西


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 探讨ubuntu启动过程,init进程启动后为什么没有inittab文件?
帖子发表于 : 2010-01-05 21:57 

注册: 2010-01-03 17:33
帖子: 116
送出感谢: 0 次
接收感谢: 0 次
wangzc2009 写道:
转自http://www.linuxdiyf.com/viewarticle.php?id=92001


因为debian 系衍生出来的linux 一向是没有使用/etc/inittab 作为登入状态文档来使用的。但是

虽然没有系统默认没有这个文件,但是你可以自己建一个inittab文件。

因为从/etc/event.d/中的rc-default文件中代码可以看出:

script
runlevel --reboot || true

if grep -q -w -- "-s\|single\|S" /proc/cmdline; then
telinit S
elif [ -r /etc/inittab ]; then
RL="$(sed -n -e "/^id:[0-9]*:initdefault:/{s/^id://;s/:.*//;p}" /etc/inittab || true)"
if [ -n "$RL" ]; then
telinit $RL
else
telinit 2
fi
else
telinit 2
fi
end script

系统会首先搜寻inittab文件,如果不存在,那么将运行在2级别上。所以你可以自己建个inittab文件,或者把相应的telinit 2 改为 telinit X(你想要运行的级别)

转到kubuntu之前曾经学习了一下,了解到ubuntu在6.10开始用upstart替代init,主要脚本都在/etc/event.d下面,默认情况下/etc下没有inittab文件。

刚装上kubuntu时候专门到/etc/event.d下看了一下,特别注意到rc-default这个脚本,里面有一段内容:

elif [ -r /etc/inittab ] then

说明默认情况下inittab虽然不存在,但是用户建立的inittab还是会被注意到的。

然后又经别人的指点看了一下/usr/share/doc/upstart/下面的文档,其中README.Debian中有这么一段内容:

这就给我这样一个印象,即虽然ubuntu用upstart替代init,但还是和init保持兼容。

今天正好需要将系统直接启动到字符界面下,即不启动kdm。

edit the /etc/inittab file

那就试试自建一个inittab文件,并按照以前的习惯写入一行id:3:initdefault: ,保存后重新启动,结果发现毫无变化,依然启动到桌面,有点纳闷,难道inittab不起作用?在终端里输入runlevel检查当前状态,显示 N 3,说明inittab有效果,那是什么原因呢?

将刚才建立的inittab移除,将系统恢复到之前的状态并重新启动,再用runlevel检查,显示 N 2,说明ubuntu系统的default runlevel可能是2,这和我以前的常识有些冲突,看来又需要学习了。

先去分别查看/etc/rc2.d至rc5.d下的内容,发现基本一致,都启动了kdm。这与其他的linux发行版不太一致,通常runlevel 3是Multi user mode,即直接登录到字符界面;而runlevel 5是Multi user mode with GUI,即登录到图形界面。

后来在Debian的FAQ里面搜索到这样的内容:

0(halt the system)
1(single-user mode)
2through5(various muli-user modes),and
6(reboot the system)

小区别就在这里了,看来debian以及衍生出来的发行版,如ubuntu的default runlevel确实是2,而且id 2至5都是一样的。

真相大白,再次建立inittab,写入id:3:initdefault: ,然后进入/etc/rc3.d,将S13kdm移动到其他目录备份起来,重新启动系统,如愿以偿进入字符界面。


ubuntu9.10
没有这个目录:/etc/event.d/ :em02


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 探讨ubuntu启动过程,init进程启动后为什么没有inittab文件?
帖子发表于 : 2010-01-06 15:04 

注册: 2010-01-03 17:33
帖子: 116
送出感谢: 0 次
接收感谢: 0 次
这个GOOGLE也找不到答案! :em02


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 探讨ubuntu启动过程,init进程启动后为什么没有inittab文件?
帖子发表于 : 2010-01-14 20:54 

注册: 2010-01-03 17:33
帖子: 116
送出感谢: 0 次
接收感谢: 0 次
:em20


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 探讨ubuntu启动过程,init进程启动后为什么没有inittab文件?
帖子发表于 : 2010-01-16 8:46 

注册: 2010-01-13 23:26
帖子: 3173
送出感谢: 0 次
接收感谢: 12
ubuntu为了加速启动,启动过程一直在变,bug其实也有不少,暂时还不要费过多的心思研究啦


_________________
Here I am.
Ubuntu 桌面培训 - 全中文官方文档,含汉化截图,提供PDF


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 探讨ubuntu启动过程,init进程启动后为什么没有inittab文件?
帖子发表于 : 2010-07-26 17:27 

注册: 2009-07-13 15:12
帖子: 30
送出感谢: 0 次
接收感谢: 0 次
只希望ubuntu的启动过程早早的定下来,控制方式不要太乱了~简约的好


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 探讨ubuntu启动过程,init进程启动后为什么没有inittab文件?
帖子发表于 : 2010-07-26 17:31 

注册: 2009-04-03 15:10
帖子: 1831
送出感谢: 0 次
接收感谢: 0 次
因为中文的资料太老,ubuntu的启动方式和网上常见的启动方式不太一样,有兴趣自己放狗搜吧……


页首
 用户资料  
 
10 楼 
 文章标题 : Re: 探讨ubuntu启动过程,init进程启动后为什么没有inittab文件?
帖子发表于 : 2010-07-30 11:57 
头像

注册: 2008-05-09 11:52
帖子: 31
送出感谢: 0 次
接收感谢: 0 次
就像楼主所说,新版本的ubuntu启动过程又有了新的变化,希望了解的大牛们能够提供帮助,详细描述一下启动过程。


页首
 用户资料  
 
11 楼 
 文章标题 : Re: 探讨ubuntu启动过程,init进程启动后为什么没有inittab文件?
帖子发表于 : 2011-10-07 20:58 

注册: 2011-10-05 7:33
帖子: 1
送出感谢: 0 次
接收感谢: 0 次
11.04:
/etc/init/rc-sysinit.conf=>etc/init.d/rcS=>etc/init.d/rc S=>rc2.d/S*=>telinit


页首
 用户资料  
 
12 楼 
 文章标题 : Re: 探讨ubuntu启动过程,init进程启动后为什么没有inittab文件?
帖子发表于 : 2012-02-17 20:07 

注册: 2012-02-17 15:06
帖子: 2
送出感谢: 0 次
接收感谢: 0 次
11.04里面是默认的读取/etc/inittab,如果没有的话,就去读取/etc/init/rc-sysinit.conf。一般情况下,是没有/etc/inittab。所以要改的话,就在这里面该就是了/etc/init/rc-sysinit.conf。同时建议多读一下:/usr/share/doc/upstart。里面有相关的解释


页首
 用户资料  
 
13 楼 
 文章标题 : Re: 探讨ubuntu启动过程,init进程启动后为什么没有inittab文件?
帖子发表于 : 2012-03-07 19:07 
头像

注册: 2011-04-18 19:06
帖子: 82
送出感谢: 0 次
接收感谢: 1
好贴,收藏了
但无该目录:/etc/event.d/
ubuntu11.10-64bit


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 13 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译