chkconfig的原理 和添加開機自啟動的辦法


當我們使用 chkconfig --list的時候 都會又  123456 這樣的級別. 當某個級別是 on
他就會開機啟動,當他是off 的時候他就不會開機自啟動. 那么這是什么原因呢?他的
原理是什么?

查看chkconfig的結果:

思考 為什么 我們設置了3級別 on 他就會開機自啟動呢?
     還記得開機自動的級別嗎? 我們默認使用的什么級別呢?
       我們默認啟動的是  /etc/rc.d/rc3.d/  這里面的所有的腳本 

拿 sshd 為例子: 我們看看開機啟動的 rc3.d 中的腳本

我們現在看到的是: 這個文件 其實是一個軟連接文件 他指向了  /etc/init.d/sshd 的實體文件. 但是奇怪的是他的名字是 S55sshd  而不是 sshd,好了,我們現在關閉他開機自啟動,再看一下:

看清楚們?同志們,這貨來了個變身術..他不再是S55了 而是變成了 k25sshd

是不是很驚喜,是不死和很意外??  那么這是為什么呢?
其實 這一切都只是源文件在作怪:
我們來編輯這個文件看看里面是什么情況:

我們來主要看這一塊, 看清楚沒? 有一個 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,那么我們現在做如下操作:
刪除掉這個文件,我們自己重新 做個快捷方式到 sshd
[root@oldboyedu-sh01 ~]# ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/K25sshd
那么 現在我們重新再看sshd服務的狀態

他變成了 off 了? 驚不驚喜?意不意外?? 那么現在你明白了他的原理了嗎?

原理:
任何文件需要進行開機啟動,那么就相當於在 /etc/rc.d/rc3.d/ 中 設置一個
軟連接指向實體文件,他們的啟動是 S開頭   不啟動是K開頭. 開啟和關閉
全部由文件 控制.   

不信我們就查看sshd 配置文件:


這里 :
2345  表示 級別
55 表示開啟
25 表示關閉

我們想創建一個文件開機啟動 一樣可以如此配置:
#!/bin/bash
# chkconfig: 2345 55 25
# description: SSH is a protocol for secure remote shell access. 
隨后使用 chkconfig --add  [文件名]   添加到i系統的開機啟動中
這樣以后我們就可以做到 系統級 開機自啟動了, 你明白了嗎?






免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM