chkconfig
啓動或者關閉系統服務,設置服務的運行級別,該指令並不會立刻啓動或者停止服務,而是在開機的時候發生效果。
chkconfig提供了一個簡單的命令行工具,用於維護/etc/rc[0-6].d目錄層次結構,使系統管理員不必直接操作這些目錄中的許多符號鏈接。這個chkconfig的實現受到IRIX操作系統中的chkconfig命令的啓發。但是,這個版本沒有在/etc/rc[0-6].d層次結構之外維護配置信息,而是直接管理/etc/rc[0-6].d中的符號鏈接。這將留下所有有關在單個位置啓動服務init的配置信息。
chkconfig有五個不同的功能:添加用於管理的新服務、從管理中刪除服務、列出服務的當前啓動信息、更改服務的啓動信息以及檢查特定服務的啓動狀態。
當chkconfig後面只有一個服務名稱的時候,它會檢查服務是否配置爲在當前運行級中啓動。如果是,則chkconfig返回true;否則返回false。“--level”選項可以用來使chkconfig查詢指定運行級下的服務狀態,而不是當前的運行級。當使用“--list”參數運行chkconfig或根本沒有參數時,將顯示所有服務及其當前配置的清單。
如果在服務名稱之後指定了on、off、reset或resetpriorities之一,則chkconfig將更改指定服務的啓動信息。on和off標誌將分別導致服務在被更改的運行級別中啓動或停止。reset標誌將服務的所有運行級別的on/off狀態重置爲init腳本文件中指定的樣子,重置的時候會有一個詢問。而resetpriorities標誌則會直接將服務的on/off狀態重置爲init腳本中指定樣子。默認情況下,on和off選項隻影響運行級別2、3、4和5,而reset和resetpriorities影響所有運行級別。請注意,對於每個服務,每個運行級都有一個開始腳本或一個停止腳本。當切換runlevel時,init將不會重新啓動已經啓動的服務,也不會重新停止未運行的服務。
chkconfig還可以通過xinetd.d配置文件管理xinetd腳本,xinetd服務只支持on、off、--list。
chkconfig支持一個“--type”參數,當幾個服務共享名字的情況下,這個選項就有效。支持該選項的服務可以是sysv和xinetd。
此命令的適用範圍:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。
1、語法
chkconfig [--list] [--type type][name]
chkconfig --add name
chkconfig --del name
chkconfig - -override name
chkconfig [--level levels] [--type type] name <on|off|reset|resetpriorities>
chkconfig [--level levels] [--type type] name
2、選項列表
選項 | 說明 |
--help | 幫助信息 |
--version | 顯示命令版本信息 |
--list 服務名 | 此選項列出chkconfig所知道的所有服務,以及它們是在每個運行級別中停止還是啓動。如果指定了名稱,則僅顯示有關服務名稱的信息。 |
--add 服務名 | 增加服務。當添加新服務時,chkconfig確保服務在每個運行級別上都有一個啓動項或一個殺死項。如果任何運行級缺少這樣的條目,chkconfig將按照init腳本中的默認值創建適當的條目。請注意,“INIT INFO”部分中的默認條目優先於initscript中的默認運行級別;如果存在任何必需的啓動或要求停止條目,則將調整腳本的開始和停止優先級,以考慮這些依賴項。 |
--del 服務名 | 將服務從chkconfig管理中刪除,與它相關的/etc/rc[0-6].d中的任何符號鏈接都被刪除。 |
--level [levels] [name] [on|off|reset] | 設置指定服務在指定運行級別的開機狀態,級別可以是0~6。例如: chkconfig –level 35 vsftpd on |
--override name | 如果/etc/chkconfig.d/name文件現在存在,並且與基礎配置腳本不同,則更改服務名稱的配置文件,而不使用基礎配置。 |
3、關於運行級別
每個應該由chkconfig管理的服務都需要在其init.d腳本中添加兩行或者多行註釋。第一行告訴chkconfig默認應該在什麼運行級別啓動服務,以及啓動和停止優先級級別。如果服務在默認情況下不應該在任何運行級別中啓動,則應該使用“-”來代替runlevel列表。第二行包含服務的描述,並且可以通過反斜槓繼續擴展多行。例如random.init中有三行註釋
# chkconfig: 2345 20 80 # description: Saves and restores system entropy pool for \ # higher quality random number generation. |
這意味着隨機腳本應該在級別2、3、4和5中啓動,它的開始優先級應該是20,它的停止優先級應該是80。
chkconfig還支持從左到右的“-”分隔符,並將優先於可用的“chkconfig:”行應用它們。例如下面的:
### BEGIN INIT INFO # Provides: foo # Required-Start: bar # Defalt-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Description: Foo init script ### END INIT INFO |
在這種情況下,“foo”的啓動優先級將被更改,它將高於“bar”啓動優先級。在添加依賴項時必須小心,因爲它們可能導致許多腳本的啓動和停止優先級發生巨大變化。
4、實例
1)查看所有服務
|
2)查看指定服務
|
3)設置ftp服務在3和5這兩個級別啓動
|