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系統的開機啓動中

這樣之後咱們就能夠作到 系統級 開機自啓動了,你明白了嗎?

相關文章
相關標籤/搜索