Unix如何:Linux/etc/inittab文件

  

的一个文件的平均Unix系统管理员很少看,几乎没有变化,还取决于他或她每次重新启动系统/etc/inittab文件。这个温和的小文件控制在系统重启或被迫改变运行的水平。让我们看看配置线告诉你的系统应该做什么当你触及电源按钮。

注意:/etc/inittab文件在Solaris和其他Unix系统,分享这种引导方式遵循相同的一般规则和最下面描述的同样适用于那些Unix变体。

首先,/etc/inittab文件通常开始时一块注释描述文件的内容或提供信贷像下面所示的行。

 #
  # inittab文件描述了INIT进程应该如何设置
  #系统在一个特定的运行级别。
  #
  #作者:纳斯·范·Smoorenburg
  #修改RHS Linux的马克·尤因和唐尼巴恩斯
  #
  

/etc/inittab文件可能包含描述的不同运行状态的系统可以假设。如果你不熟悉这一概念,一个运行状态基本上是一种描述什么是运行在系统时的状态。例如,运行状态3是“完整的多用户模式”对于大多数Unix系统,登录的用户和所有预期的系统服务运行支持系统的使用。

这是一个示例/etc/inittab这部分的文件。注意,它定义了每个系统管理员运行级别。

 #默认运行级别。使用的运行级RHS是:
  # 0 -停止(不设置initdefault这个)
  # 1 -单用户模式
  # 2 -多用户,没有NFS(3一样,如果你没有网络)
  # 3 -完整的多用户模式
  # 4 -未使用
  # 5 - X11
  # 6 -重启(不要设置initdefault这个)
  #
  

最关键线路之一/etc/inittab文件是定义默认运行级别——即运行级别将假定当你引导系统不指定一个替代引导水平。对于大多数Unix系统上,默认的运行状态是3,如下所示。

 id: 3: initdefault:
  

因为这“initdefault”行包含“3”作为第二个字段,运行状态3是默认。

另一个重要的线在Linux系统sysinit线所示。它告诉系统运行/etc/rc.d/rc.当系统启动sysinit脚本。

 #系统初始化。
  si:: sysinit:/etc/d/rc.sysinit
  

一旦系统运行rc。sysinit,知道预计达到的运行状态启动,它将从列表中选择适当的行并运行/etc/rc.以下d/rc脚本参数适当指定的运行级别。

正常情况下,这将是“rc 3”,下面列表中的第四行。

<>以前l0:0:等:/etc/rc。d/rc 0   l1:1:等待:/etc/rc。d/rc 1   l2:2:等待:/etc/rc。d/rc 2   l3:3:等待:/etc/rc。d/rc 3   l4:4:等待:/etc/rc。d/rc 4   l5:5:等待:/etc/rc。d/rc 5   l6:6:等待:/etc/rc。d/rc 6   

你可能猜测,该系统扫描第二列对应于运行级别的一个被请求的initdefault设置或控制用户的init命令。

/etc/rc.d/rc脚本将使用指定的运行级别,以确定哪些组运行脚本执行。在正常情况下,钢筋混凝土将与“3”作为它的参数运行,将运行所有脚本/etc/rc3.d目录。它会杀死脚本(那些从一个大写字母“K”)开始,然后开始脚本(那些从一个大写字母“S”)开始使用线是这样的:

我在/etc/rc $运行级别。d/K *;做
  

如果你看看/etc/rc3.内容d目录在Linux系统上,你会看到这样的东西——大量杀死和启动脚本,确定什么是关闭(如果运行),什么是开始。

<>以前ls/etc/rc2.d美元   K01dnsmasq K36mysqld K89netplugd S15mdmonitor   K02avahi-daemon K44rawdevices K89pand S25bluetooth   K02avahi-dnsconfd K50netconsole K89rdisc S25pcscd   K02haldaemon K50tux K91capi S26acpid   K02NetworkManager K50vsftpd K95firstboot S26apmd   K03rhnsd K69rpcsvcgssd K95kudzu S26hidd   K05atd K72autofs K99readahead_later S50hplip   K05conman K73ypbind S00microcode_ctl S55sshd   K05saslauthd K74ipmi S02lvm2-monitor S56cups   K10dc_server K74nscd S04readahead_early S56xinetd   K10psacct K75netfs S06cpuspeed S80postfix   K10xfs K85mdmpd S08ip6tables S85gpm   K12dc_client K85messagebus S08iptables S90crond   K15httpd K85rpcgssd S08mcstrans S95anacron   K20nfs K85rpcidmapd S09isdn S95jexec   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

Unix如何:Linux/etc/inittab文件