chkconfig的原理 和添加开机自启动的办法

当咱们使用 chkconfig --list的时候 都会又  123456 这样的级别. 当某个级别是 onshell

他就会开机启动,当他是off 的时候他就不会开机自启动. 那么这是什么缘由呢?他的bash

原理是什么?ssh


查看chkconfig的结果:ide

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=


思考 为何 咱们设置了3级别 on 他就会开机自启动呢?spa

     还记得开机自动的级别吗? 咱们默认使用的什么级别呢?blog

       咱们默认启动的是  /etc/rc.d/rc3.d/  这里面的全部的脚本 
ip


拿 sshd 为例子: 咱们看看开机启动的 rc3.d 中的脚本rem

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=


咱们如今看到的是: 这个文件 实际上是一个软链接文件 他指向了  /etc/init.d/sshd 的实体文件. 可是奇怪的是他的名字是 S55sshd  而不是 sshd,好了,咱们如今关闭他开机自启动,再看一下:it

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=


看清楚们?同志们,这货来了个变身术..他再也不是S55了 而是变成了 k25sshdio


是否是很惊喜,是不死和很意外??  那么这是为何呢?

其实 这一切都只是源文件在做怪:

咱们来编辑这个文件看看里面是什么状况:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=


咱们来主要看这一块, 看清楚没? 有一个 55 和25  是否是和刚才的 k25  s55 很像?

解释:  这里的 2345 是启动级别  

系统一旦识别到是 3 级别下启动了 sshd服务 就自动在 /etc/init.d/sshd 中生成了一个叫 S55sshd 的文件, 一旦中止 他就会当即删除 S55sshd文件,而后再生成一个K25sshd的文件... 他们不管启动或者中止  他们始终指向原来的脚本. 那么这里的意思你懂了吗?


1.当咱们在脚本中设置了一个程序为开机自动启动的时,他就会在/etc/init.d/的目录中 添加了一个 软链接指向源文件.

2. 当咱们关闭了一个程序的开机启动后,他就会在/etc/init.d/的目录中添加一个软链接指向源文件.


在咱们明白了这个原理的时候,咱们作如下操做  不适用chkconfig 就让他on或者off


来查看如今sshd 的状态是什么?

[root@oldboyedu-sh01 ~]# chkconfig --list | grep sshd

sshd           0:off   1:off   2:on   3:on   4:on   5:on   6:off


能够看出目前sshd的3级别是on,那么咱们如今作以下操做:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

删除掉这个文件,咱们本身从新 作个快捷方式到 sshd

[root@oldboyedu-sh01 ~]# ln -s /etc/init.d/sshd  /etc/rc.d/rc3.d/K25sshd

那么 如今咱们从新再看sshd服务的状态

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=


他变成了 off 了? 惊不惊喜?意不意外?? 那么如今你明白了他的原理了吗?


原理:

任何文件须要进行开机启动,那么就至关于在 /etc/rc.d/rc3.d/ 中 设置一个

软链接指向实体文件,他们的启动是 S开头   不启动是K开头. 开启和关闭

所有由文件 控制.   


不信咱们就查看sshd 配置文件:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=



这里 :

2345  表示 级别

55 表示开启

25 表示关闭


咱们想建立一个文件开机启动 同样能够如此配置:

#!/bin/bash

# chkconfig: 2345 55 25

# description: SSH is a protocol for secure remote shell access. 

随后使用 chkconfig --add  [文件名]   添加到i系统的开机启动中

这样之后咱们就能够作到 系统级 开机自启动了,你明白了吗?

相关文章
相关标签/搜索