linux 自启动详解

rc.d的内容如下: 
init.d/ :各种服务器和程序的二进制文件存放目录。 
rcx.d/: 各个启动级别的执行程序连接目录。里头的东西都是指向init.d/的一些软连接。具体的后边叙述。 
还有三个脚本:rc.sysinit, rc, rc.local 

redhat的启动方式和执行次序是: 
加载内核 
执行init程序 
/etc/rc.d/rc.sysinit # 由init执行的第一个脚本 
/etc/rc.d/rc $RUNLEVEL # $RUNLEVEL为缺省的运行模式 
/etc/rc.d/rc.local 
/sbin/mingetty # 等待用户登录 

在Redhat中,/etc/rc.d/rc.sysinit主要做在各个运行模式中相同的初始化工作,包括: 
调入keymap以及系统字体 
启动swapping 
设置主机名 
设置NIS域名 
检查(fsck)并mount文件系统 
打开quota 
装载声卡模块 
设置系统时钟 
等等。 


/etc/rc.d/rc则根据其参数指定的运行模式(运行级别,你在inittab文件中可以设置)来执行相应目录下的脚本。凡是以Kxx开头的 
,都以stop为参数来调用;凡是以Sxx开头的,都以start为参数来调用。调用的顺序按xx 
从小到大来执行。例如,假设缺省的运行模式是3,/etc/rc.d/rc就会按上述方式调用 
/etc/rc.d/rc3.d/下的脚本。 
值得一提的是,Redhat中的运行模式2、3、5都把/etc/rc.d/rc.local做为初始化脚本中 
的最后一个,所以用户可以自己在这个文件中添加一些需要在其他初始化工作之后,登录之前执行的命令。 

init在等待/etc/rc.d/rc执行完毕之后(因为在/etc/inittab中/etc/rc.d/rc的 
action是wait),将在指定的各个虚拟终端上运行/sbin/mingetty,等待用户的登录。 
至此,LINUX的启动结束。 

 

最后自己补充一些:

1. 许多网络服务都由超级服务/etc/rc.d/init.d/xinetd启动,这些服务的配置文件在/etc/xinetd.d/目录下,

如telnet就是由xinetd启动的,其配置文件如下(fc7)

  1 # default: on
  2 # description: The telnet server serves telnet sessions; it uses /
  3 #   unencrypted username/password pairs for authentication.
  4 service telnet
  5 {
  6     flags       = REUSE
  7     socket_type = stream
  8     wait        = no
  9     user        = root
 10     server      = /usr/sbin/in.telnetd
 11     log_on_failure  += USERID
 12     disable     = no
 13 }
修改配置文件以后,重启xinetd服务即可.

2. 除了直接调用脚本外(如/etc/rc.d/init.d/xinetd),还可以用service命令来控制init.d目录下的服务,

     如 service xinetd restart,

猜你喜欢

转载自blog.csdn.net/qq_34627002/article/details/80581363