原文网址:http://blog.csdn.net/gavinr/article/details/6584582

linux 启动时第一个进程是/sbin/init,其主要功能就是软件执行环境,包括系统的主机名、网络设置、语系处理、文件系统格式及其他服务的启动等。其配置文件就是/etc/inittab,但在我的ubuntu10.10却没有找到此文件。
原来ubuntu中使用/etc/event.d这个目录,完成相似的功能。ubuntu9.10版本的upstart不再用/etc/event.d这个目录了。而是改用/etc/init目录。在/etc/init/下发现一个文件rc-sysinit.conf,与rc.sysinit文件名相似,于是打开发现其中有如下内容:
  1. # rc-sysinit - System V initialisation compatibility
  2. #
  3. # This task runs the old System V-style system initialisation scripts,
  4. # and enters the default runlevel when finished.
  5. # Check for default runlevel in /etc/inittab
  6. if [ -r /etc/inittab ]
  7. then
  8. eval "$(sed -nre 's/^[^#][^:]*:([0-6sS]):initdefault:.*/DEFAULT_RUNLEVEL="\1";/p' /etc/inittab || true)"
  9. fi
  10. ......
  11. # Run the system initialisation scripts
  12. [ -n "${FROM_SINGLE_USER_MODE}" ] || /etc/init.d/rcS
很明显,在ubuntu还是支持/etc/initab文件的。脚本的最后会执行/etc/init.d/rcS, rcS的内容为::

  1. #! /bin/sh
  2. #
  3. # rcS
  4. #
  5. # Call all S??* scripts in /etc/rcS.d/ in numerical/alphabetical order
  6. #

文件中所有的语句竟然都被注释掉了,看来此文件的存在只是为了兼容而已,没有实现用处。不过还是看一看srS.d目录:

  1. gavin@ubuntu:/etc/rcS.d$ ll
  2. 总计 20
  3. -rw-r--r--   1 root root   447 2009-09-07 11:58 README
  4. lrwxrwxrwx   1 root root    18 2010-12-07 05:27 S01apparmor -> ../init.d/apparmor*
  5. lrwxrwxrwx   1 root root    16 2010-12-07 05:27 S01brltty -> ../init.d/brltty*
  6. lrwxrwxrwx   1 root root    20 2010-12-07 05:27 S01lm-sensors -> ../init.d/lm-sensors*
  7. lrwxrwxrwx   1 root root    20 2010-12-07 05:27 S01x11-common -> ../init.d/x11-common*
  8. lrwxrwxrwx   1 root root    21 2010-12-07 05:27 S02pcmciautils -> ../init.d/pcmciautils*
  9. lrwxrwxrwx   1 root root    17 2010-12-07 05:27 S02urandom -> ../init.d/urandom*

所有文件都是符号链接,都指向../init.d目录中的文件

【转】ubuntu中没有/etc/inittab文件探究的更多相关文章

  1. ubuntu12.10中没有/etc/inittab文件探究

    1. 我们首先来看一下Linux系统开机启动过程: Ubuntu是Linux系统的衍生系统,其开机启动过程与上图相差不大,但是随着系统的不断发展,终究还是有不同的地方,下面,我们来了解一下Ubuntu ...

  2. ubuntu为什么没有/etc/inittab文件? 深究ubuntu的启动流程分析

    Linux 内核启动 init ,init进程ID是1,是所有进程的父进程,所有进程由它控制. Ubuntu 的启动由upstart控制,自9.10后不再使用/etc/event.d目录的配置文件,改 ...

  3. AIX中的/etc/inittab文件

    1./etc/inittab文件   /etc/inittab文件从上到下逐行表述了某个服务或应用的启动需求.运行级别.应用脚本,格式如下: identifier:Runlevel:  Action: ...

  4. Ubuntu中更改所有子文件和子目录所有者权限

    转自:http://www.linuxidc.com/Linux/2015-03/114695.htm Ubuntu中有两个修改命令可以用到,「change mode」&「change own ...

  5. Ubuntu 中/etc/resolv.conf 文件修改丢失的解决方案

    方法一 1.需要创建一个文件/etc/resolvconf/resolv.conf.d/tail sudo vi /etc/resolvconf/resolv.conf.d/tail 2.在该文件中写 ...

  6. 在Ubuntu中使用AppImage类型文件

    右键--属性---权限---允许作为执行文件启动

  7. 在Ubuntu 中安装eclipse, eclipse 文件已经下载好!

    If you've downloaded Eclipse from their official website, follow these steps for the installation. E ...

  8. ubuntu 中 ThinkPHP 上传文件无法得到文件名

    在 419-424 行.

  9. android在ubuntu中编译为.apk资料

    android在ubuntu中编译为.apk文件 今天我在ubuntu环境之下将android程序编译为.apk文件,特将其过程写下来: 1. 在windows环境下使用MyEclipse编辑好and ...

随机推荐

  1. poj3421 X-factor Chains(重复元素的全排列)

    poj3421 X-factor Chains 题意:给定正整数$x(x<=2^{20})$,求$x$的因子组成的满足任意前一项都能整除后一项的序列的最大长度,以及满足最大长度的子序列的个数. ...

  2. maven和gradle中,dependency和plugin的区别

    dependency引入的东西 作用:代码编译/运行时所需要的东西 打包:项目打包后这些东西基本都在(一般都在). 例如:JSON工具包GSON(com.google.code.gson),不仅开发时 ...

  3. StringBuffer类的常用方法

    StringBuffer类和String一样,也用来代表字符串.只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存 ...

  4. 框架-springmvc源码分析(一)

    框架-springmvc源码分析(一) 参考: http://www.cnblogs.com/heavenyes/p/3905844.html#a1 https://www.cnblogs.com/B ...

  5. mybatis报Invalid bound statement (not found) 分析

      解决问题的步骤,请参考: 1.mapper.xml要和对应的mapper接口在同一个包下,包名要一模一样. 2.Mapper接口中的方法在Mapper.xml中没有,然后执行Mapper接口的方法 ...

  6. 发起图片请求的几种可能性(webkit内核)

    网页测试源代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> &l ...

  7. Linux删除重复行 排序和不排序的做法--转载

    本文部分翻译自这里,来自 Jadu Saikia 的博客,这个博客上有很多非常有用的小技巧,有空可以多看看. 通常如果我们想获取一个文件里不重复的行的时候,我们可以直接通过 sort -u 命令,先把 ...

  8. [转][osg]osg渲染引擎框架图,流程图(根据《最长一帧》整理)

    转自:http://m.blog.csdn.net/article/details?id=49679731 本文参考<<osg最长一帧>>, <<OpenScene ...

  9. HTML深入探究(一)HTML入门

          HTML:超文本标记语言HyperText Markup Language,是一种用于创建网页的标准标记语言.HTML 不是一种编程语言,而是一种标记语言,标记语言是一套标记标签 (mar ...

  10. spark + cassandra +postgres +codis 大数据方案

    1.环境: 1.1.cassandra 集群: 用于日志数据存储 1.2.spark集群: 用户后期的实时计算及批处理 1.3.codis 集群: 用于缓存一些基本数据如IP归属地,IP经纬度等,当日 ...