- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業(yè)務(wù)經(jīng)營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯(lián)網(wǎng)協(xié)會理事單位
- 安全聯(lián)盟認證網(wǎng)站身份V標記
- 域名注冊服務(wù)機構(gòu)許可:滇D3-20230001
- 代理域名注冊服務(wù)機構(gòu):新網(wǎng)數(shù)碼
注意:service的安裝目錄在/etc/rc.d/init.d下,/etc/init.d 是/etc/rc.d/init.d的鏈接。
chkconfig命令用來安裝,查看或修改 services隨系統(tǒng)啟動的啟動選項的設(shè)置。本文章包含了7個實例來解釋如何使用chkconfig命令。
1 在shell腳本中檢查service的啟動選項的設(shè)置
當你執(zhí)行chkconfig加service名字,如果service被配置為自動啟動,則它將返回true。下列的代碼段顯示了如何在腳本中檢查一個service是否被配置為自動啟動。
# vi check.sh
chkconfig network && echo "Network service is configured"
chkconfig junk && echo "Junk service is configured"
# ./check.sh
Network service is configured
你也可以特別地查看它是否配置為在某個run level自動啟動。
# vi check1.sh
chkconfig network --level 3 && echo "Network service is configured for level 3"
chkconfig network --level 1 && echo "Network service is configured for level 1"
# ./check1.sh
Network service is configured for level 3
2 查看所有的services的啟動選項的設(shè)置
--list選項顯示所有的services的啟動選項的配置狀態(tài)。
# chkconfig --list
abrtd 0:off 1:off 2:off 3:on 4:off 5:on 6:off
acpid 0:off 1:off 2:off 3:off 4:off 5:off 6:off
atd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
...
只查看在某個runlevel啟動的services,例如查看在runlevel3下自動啟動的services。
chkconfig --list | grep 3:on
查看某個service的啟動選項的設(shè)置,也可以對chkconfig --list 的output使用grep,例如:chkconfig --list | grep network
3 增加一個新的service為自動啟動
使用-add選項來增加某個service,使其能夠在系統(tǒng)啟動的時候自動地啟動。
下列的實例顯示了如何增加一個新的service iptables,使其能夠在系統(tǒng)啟動的時候自動地啟動。使用‘chkconfig --add’命令將自動地設(shè)置在runlevel 2,3,4,5上自動地啟動。
# chkconfig --list | grep iptables
# chkconfig --add iptables
# chkconfig --list | grep iptables
iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
注意:”chkconfig --add“ 只是設(shè)置一個存在的service為自動啟動,此service必須已經(jīng)安裝,即已經(jīng)存在于/etc/rc.d/init.d下。如果service不存在,你需要首先安裝service到/etc/rc.d/init.d下,然后再為其設(shè)置自動啟動選項。這是很多的初學(xué)者都容易犯的錯誤,所以值得在這里強調(diào)。
4 刪除某個service的自動啟動選項的設(shè)置
下列的實例顯示了ip6tables service被配置為自動啟動。
# chkconfig --list | grep ip6tables
ip6tables 0:off 1:off 2:off 3:on 4:off 5:off 6:off
要刪除某個service的自動啟動的設(shè)置,使用--del選項,如下:
# chkconfig --del ip6tables
# chkconfig --list | grep ip6tables
5 設(shè)置或取消某個service在某個runlevel的自動啟動設(shè)置
有時你可能不想取消整個service的自動啟動的設(shè)置,你只是需要設(shè)置或取消service在某個runlevel的自動啟動的設(shè)置,
下列的實例將取消nfserver service在runlevel5的自動啟動設(shè)置
# chkconfig --level 5 nfsserver off
你也可以組合多個runlevel,例如你可以取消nfserver在runlevel3和5的自動啟動設(shè)置
# chkconfig --level 35 nfsserver off
6 chkconfig 與 rc*.d目錄下的腳本 (*表示runlevel1-6)
當你使用chkconfig來增加或刪除某個service的自動啟動選項的設(shè)置的時候,其實是在rc*.d目錄下做下列的事情:
當chkconfig --add命令執(zhí)行的時候,其實是在對應(yīng)的rc*.d目錄下創(chuàng)建相應(yīng)用來啟動和停止service的service的symbollink文件;
當chkconfig --del命令執(zhí)行的時候,其實是在對應(yīng)的rc*.d目錄下刪除相應(yīng)用來啟動和停止service的service的symbollink文件;
rc*.d目錄下與某個service關(guān)聯(lián)的2個symbollink文件中,以K(kill)開始的表示此文件用來?止service,以S(start)開始的表示此文件用來啟動service。
例如service nfsserver沒有設(shè)置自動啟動選項的時候,我們在/rc*.d下看不到用來啟動和停止service的symbollink文件
# chkconfig --list | grep nfsserver
nfsserver 0:off 1:off 2:off 3:off 4:off 5:off 6:off
# ls /etc/rc.d/rc3.d | grep nfsserver
# ls /etc/rc.d/rc5.d | grep nfsserver
當我們?yōu)閚fsserver service設(shè)置自動啟動選項后,我們就可以看到相應(yīng)的symbollink文件了
# chkconfig --add nfsserver
nfsserver 0:off 1:off 2:off 3:on 4:off 5:on 6:off
# cd /etc/rc.d/rc3.d
# ls -l | grep nfsserver
lrwxrwxrwx 1 root root 12 2011-06-18 00:52 K08nfsserver -> ../init.d/nfsserver
lrwxrwxrwx 1 root root 12 2011-06-18 00:52 S14nfsserver -> ../init.d/nfsserver
# cd /etc/rc.d/rc5.d
# ls -l | grep nfsserver
lrwxrwxrwx 1 root root 12 2011-06-18 00:52 K08nfsserver ->../init.d/nfsserver
lrwxrwxrwx 1 root root 12 2011-06-18 00:52 S14nfsserver -> ../init.d/nfsserver
當你取消此service在某個runlevel的自動啟動選項的設(shè)置的時候,對應(yīng)的rc*.d目錄下的symbollink文件也將被自動的刪除,
# chkconfig --level 5 nfsserver off
# ls /etc/rc.d/rc5.d | grep nfsserver
提交成功!非常感謝您的反饋,我們會繼續(xù)努力做到更好!
這條文檔是否有幫助解決問題?
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP