centos6 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