(1)/etc/init.d是指向/etc/rc.d/init.d的软连接;
[root@server01 ~]# ll /etc/init.d
lrwxrwxrwx. 1 root root 11 Mar 9 10:45 /etc/init.d -> rc.d/init.d
(2)/etc/rc.d/init.d里面存放的是一些脚本,执行这些脚本可以用来start启动、stop停止,restart重启这些服务;
(3)/etc/rc.d目录下有7个名为rcN.d的目录,对应系统的7个运行级别。/etc/rc.d/rcN.d下是一些链接文件,链接到init.d中相对应的文件。即真正干活是init.d里面的脚本;
[root@server01 rc.d]# pwd
/etc/rc.d
[root@server01 rc.d]#
[root@server01 rc.d]# ls
init.d rc0.d rc1.d rc2.d rc3.d rc4.d rc5.d rc6.d rc.local
[root@server01 rc.d]#
[root@server01 rc.d]# tree /etc/rc.d
/etc/rc.d
├── init.d
│ ├── functions
│ ├── multi-queue-uni
│ ├── netconsole
│ ├── network
│ └── README
├── rc0.d
│ ├── K50multi-queue-uni -> ../init.d/multi-queue-uni
│ ├── K50netconsole -> ../init.d/netconsole
│ └── K90network -> ../init.d/network
├── rc1.d
│ ├── K50multi-queue-uni -> ../init.d/multi-queue-uni
│ ├── K50netconsole -> ../init.d/netconsole
│ └── K90network -> ../init.d/network
├── rc2.d
│ ├── K50netconsole -> ../init.d/netconsole
│ ├── S10network -> ../init.d/network
│ └── S50multi-queue-uni -> ../init.d/multi-queue-uni
...
(4)/etc/rc.local用于设置应用开机自启,/etc/rc.local是/etc/rc.d/rc.local的软连接。
[root@server01 ~]# ll /etc/rc.local
lrwxrwxrwx 1 root root 13 Mar 16 11:53 /etc/rc.local -> rc.d/rc.local
rcN.d下的文件:
K开头的,表示停止Kill一个服务;
S开头的,表示开启Start一个服务。
那什么是linux的运行级别(runlevel)?
Linux系统有7个运行级别:
运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆,类似于Windows的安全模式登录
运行级别2:多用户状态(没有NFS)
运行级别3:多用户模式(有NFS),登陆后进入控制台命令行模式,标准的Linux运行级别
运行级别4:系统未使用,保留一般不用
运行级别5:X11控制台,登陆后进入图形GUI模式,标准的Linux运行级别
运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动。运行init6服务器就会重启
Linux 系统启动过程?
系统启动 -》
内核引导,读入/boot目录下的内核文件 -》
运行init进程,从/etc/inittab里面读取系统运行级别 -》
运行对应级别的init.d里的脚本(比如若是从/etc/inittab里获取的是级别3,则去读取/etc/rc.d/rc3.d/。前面我们也说过,/etc/rc.d/rc3.d/目录中的这些启动脚本实际上都是一些连接文件,而不是真正的rc启动脚本,真正的rc启动脚本实际上都是放在/etc/rc.d/init.d/目录下)-》
/etc/rc.d/init.d/通过start\stop\restart等命令,才启动\停止\重启特定的服务 -》
rc执行完毕后,返回init。这时基本系统环境已经设置好了,各种守护进程也已启动。接着建立终端,用户登录系统