原文网址: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. inline用法详解

    (一)inline函数(摘自C++ Primer的第三版) 在函数声明或定义中函数返回类型前加上关键字inline即把min()指定为内联. inline int min(int first, int ...

  2. 《Java入门第二季》第五章 阶段练习

    /** * ┏┓ ┏┓ * ┏┛┻━━━┛┻┓ * ┃ ┃ * ┃ ━ ┃ * ┃ > < ┃ * ┃ ┃ * ┃... ⌒ ... ┃ * ┃ ┃ * ┗━┓ ┏━┛ * ┃ ┃ Cod ...

  3. SQL学习笔记八之ORM框架SQLAlchemy

    阅读目录 一 介绍 二 创建表 三 增删改查 四 其他查询相关 五 正查.反查 一 介绍 SQLAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进 ...

  4. Python3.x:函数定义

    Python3.x:函数定义 1,函数定义: def 函数名称([参数1,参数2,参数3......]): 执行语句 2,实例一(不带参数和没返回值): def helloWorld(): print ...

  5. 这才是官方的tapable中文文档

    起因 搜索引擎搜索tapable中文文档,你会看见各种翻译,点进去一看,确实是官方的文档翻译过来的,但是webpack的文档确实还有很多需要改进的地方,既然是开源的为什么不去github上的tapab ...

  6. gradle Debug的使用

    gradle 与maven 不同,运行完run debug后还需要再进行几部配置: 打开Run-DebugConfigurations-如图新建一个remote java application 然后 ...

  7. (译)综合指南:通过Ubuntu 16.04上从Source构建来安装支持GPU的Caffe2

    (译)综合指南:通过Ubuntu 16.04上从Source构建来安装支持GPU的Caffe2 译者注: 原文来自:https://tech.amikelive.com/node-706/compre ...

  8. UVa 11021 麻球繁衍

    https://vjudge.net/problem/UVA-11021 题意:有k只麻球,每只活一天就会死亡,临死之前可能会生出一些新的麻球.具体来说,生i个麻球的概率为Pi.给定m,求m天后所有麻 ...

  9. render:h => h(App) 是什么意思?

    在学习vue.js时,使用vue-cli创建了一个vue项目,main.js文件中有一行代码不知道什么意思.在网上搜索得到如下解答: 参考一:https://www.cnblogs.com/longy ...

  10. MySQL返回影响行数的测试示例

    found_rows() : select row_count() : update delete insert 注:需要配合相应的操作一起使用,否则返回的值只是1和-1(都是不正确的值) 示例: d ...