chkconfig
chkconfig在命令行操作時(shí)會(huì)經(jīng)常用到。它可以方便地設(shè)置和查詢不同運(yùn)行級上的系統(tǒng)服務(wù)。這個(gè)可要好好掌握,用熟練之后,就可以輕輕松松的管理好你的啟動(dòng)服務(wù)了。
注:謹(jǐn)記chkconfig不是立即自動(dòng)禁止或激活一個(gè)服務(wù),它只是簡單的改變了符號連接。
chkconfig 語法:
chkconfig [--add] [--del] [--list] [系統(tǒng)服務(wù)]
chkconfig [--level/levels] [等級代號] [系統(tǒng)服務(wù)] [on/off/reset]
語法解釋 :
chkconfig 沒有參數(shù)運(yùn)行時(shí),顯示用法。如果加上服務(wù)名,那么就檢查這個(gè)服務(wù)是否在當(dāng)前運(yùn)行級啟 動(dòng)。如果是,返回true,否則返回false。如果在服務(wù)名后面指定 了on,off或者reset,那么chkconfi 會(huì)改變指定服務(wù)的啟動(dòng)信息。on 和 off 分別指服務(wù)被啟動(dòng)和停止,reset指重置服務(wù)的啟動(dòng)信息,無論有問題的初始化腳本指定了什么。on 和 off 開關(guān),系統(tǒng)默認(rèn)只對運(yùn)行級3,4,5有效, 但是reset可以對所有運(yùn)行級有效。
- -level選項(xiàng)可以指定要查看的運(yùn)行級而不一定是當(dāng)前運(yùn)行級。
需要說明的是,對于每個(gè)運(yùn)行級,只能有一個(gè)啟動(dòng)腳本或者停止腳本。當(dāng)切換運(yùn)行級時(shí),init不會(huì)重新啟動(dòng)已經(jīng)啟 動(dòng)的服務(wù),也不會(huì)再次去停止已經(jīng)停止的服務(wù)。
chkconfig – -list :顯示所有運(yùn)行級系統(tǒng)服務(wù)的運(yùn)行狀態(tài)信息(on或off)。 如果指定了name,那么只顯示指定的服務(wù)在不同運(yùn)行級的狀態(tài)。
chkconfig – -add name:增加一項(xiàng)新的服務(wù)。chkconfig確保每個(gè)運(yùn) 行級有一項(xiàng)啟動(dòng)(S)或者殺死(K)入口。如有缺少,則會(huì)從缺省的init腳本自動(dòng)建立。
chkconfig – -del name:刪除服務(wù),并把相關(guān)符號連接從/etc/rc[0-6].d刪 除。
chkconfig [--level|levels] [運(yùn)行級] 系統(tǒng)服務(wù) [on|off|reset]:設(shè)置某一服務(wù) 在指定的運(yùn)行級是被啟動(dòng),停止還是重置。
例如,要在3,4,5運(yùn)行級停止nfs服務(wù),則命令如下:
chkconfig --level 345 nfs off
運(yùn)行級文件:
每個(gè)被chkconfig管理的服務(wù)需要在對應(yīng)的init.d下的腳本加上兩行 或者更多行的注釋。
第一行告訴chkconfig缺省啟動(dòng)的運(yùn)行級以及啟動(dòng) 和停止的優(yōu)先級。如果某服務(wù)缺省不在任何運(yùn)行級啟動(dòng),那么使用 - 代 替運(yùn)行級。
第二行對服務(wù)進(jìn)行描述,可以用/ 跨行注釋。
例如,random.init包含三行:
# chkconfig: 2345 20 80
# description: Saves and restores system entropy pool for /
# higher quality random number generation.
附加介紹一下Linux系統(tǒng)的運(yùn)行級的概念:
Linux OS 將操作 環(huán)境分為以下7個(gè)等級,即
0:關(guān)機(jī)
1:單用戶模式(單用戶、無網(wǎng)絡(luò))
2:無網(wǎng)絡(luò)支持的多用戶模式(多用戶、無網(wǎng)絡(luò))
3:有網(wǎng)絡(luò)支持的多用戶模式(多用戶、有網(wǎng)絡(luò))
4:保留,未使用
5:有網(wǎng)絡(luò)支持有X-Window支持的多用戶模式(多用戶、有網(wǎng)絡(luò)、X-Window界面)
6:重新引導(dǎo)系統(tǒng),即重啟
Linux中有多種運(yùn)行級,常見的就是多用戶的2,3,4,5 ,很 多人知道5是運(yùn)行X-Windows的級別,而0就是關(guān)機(jī)了。運(yùn)行級的改變可以通過init命令來切換。例如,假 設(shè)你要維護(hù)系統(tǒng)進(jìn)入單用戶狀態(tài),那 么,可以使用init1來切換。在Linux的運(yùn)行級的切換過程中,系統(tǒng)會(huì)自動(dòng)尋找對應(yīng)運(yùn)行級的目錄/etc/rc[0-6].d下的K和S開頭的文件, 按后面的數(shù)字順序,執(zhí)行這些腳本。對這些腳本的維護(hù),是很繁瑣的一件事情,Linux提供了chkconfig命令用來更新和查詢不同運(yùn)行級上的系統(tǒng)服 務(wù)。
范例:
1.查看在 各種不同的執(zhí)行等級中,各項(xiàng)服務(wù)的狀況:
2.列出系統(tǒng)服務(wù)vsftpd在各個(gè)執(zhí)行等級的啟動(dòng)情況:
3.在執(zhí)行等級3,5時(shí),關(guān)閉vsftpd系統(tǒng)服務(wù):
4.在執(zhí)行等級2,3,5時(shí),開啟 vsftpd系統(tǒng)服務(wù):
4.1.在執(zhí)行等級2,3,5時(shí),重啟vsftpd系統(tǒng)服務(wù):
5.關(guān)閉一些自己不需要的服務(wù):
如果沒有打印機(jī):
如果沒有局域網(wǎng):
如果不需要遠(yuǎn)程用戶登錄的:
如果不需要定時(shí)任務(wù)的:
如果不需要添加新硬件的:
查看特定系統(tǒng)服務(wù)的進(jìn)程狀態(tài),如httpd:
1、如何增加一個(gè)服務(wù)?
首先,服務(wù)腳本必須存放在/etc/ini.d/目錄下;
其次,需要用chkconfig ––add servicename來在chkconfig工具服務(wù)列表中增加此服務(wù),此時(shí)服務(wù)會(huì)被在/etc/rc.d/rcN.d中賦予K/S入口了。
最后,你就可以上面教的方法修改服務(wù)的默認(rèn)啟動(dòng)等級了。
2、Linux下如何自動(dòng)啟動(dòng)MySQL ?
首先確保/etc/rc.d/init.d/mysqld 存在,若用 service mysqld start 能夠正常啟動(dòng),表示服務(wù)存在
(注意:如果是rpm形式安裝,相應(yīng)服務(wù)會(huì)自動(dòng)在/etc/rc.d/init.d目錄注冊的)。
運(yùn)行命令:
運(yùn)行命令:
重啟即可
如何是源碼安裝,如何讓軟件開機(jī)啟動(dòng),以Apache為例?
在linux下安裝了apache 服務(wù)(通過下載二進(jìn)制文件經(jīng)濟(jì)編譯安裝、而非rpm包)、apache 服務(wù)啟動(dòng)命令:
/server/apache/bin/apachectl start 。讓apache服務(wù)運(yùn)行在運(yùn)行級別3下面。 命令如下:
apache的內(nèi)容:
至此 apache服務(wù)就可以在運(yùn)行級別3下 隨機(jī)自動(dòng)啟動(dòng)了。
(注意:當(dāng)創(chuàng)建完 /etc/rc.d/init.d/apache 文件后,其實(shí)可以結(jié)合 chkconfig 對啟動(dòng)服務(wù)進(jìn)行相應(yīng)的調(diào)整的。)
另外,也可把啟動(dòng)命令 /server/apache/bin/apachectl start 直接寫入 /etc/rc.d/rc.local 文件中,達(dá)到開啟啟動(dòng)的目的!
新聞熱點(diǎn)
疑難解答
圖片精選