歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux技術

linux命令(001)

一、准備知識

在說明chkconfig命令的用途之前,有必要先了解一下Linux系統中/etc/rc[0-6].d目錄的用途。

眾所周知,在Linux系統定義了7種不同的啟動級別,這7種啟動級別的含義分別如下:

0:關機 
1:單用戶模式 
2:無網絡連接的多用戶命令行模式 
3:有網絡連接的多用戶命令行模式 
4:不可用 
5:帶圖形界面的多用戶模式 
6:重啟
所以,/etc/rc[0-6].d目錄中的0-6就代表了上述7種啟動級別。接下來我們再看一下/etc/rc[0-6].d目錄中到底存放了些什麼東西,以/etc/rc5.d為例:

...省略...
lrwxrwxrwx. 1 root root 15 May 17 21:57 K89rdisc -> ../init.d/rdisc
lrwxrwxrwx. 1 root root 18 May 17 22:12 K92iptables -> ../init.d/iptables
lrwxrwxrwx. 1 root root 14 May 17 21:58 K99rngd -> ../init.d/rngd
lrwxrwxrwx. 1 root root 17 May 17 21:58 S01sysstat -> ../init.d/sysstat
lrwxrwxrwx. 1 root root 22 May 17 21:58 S02lvm2-monitor -> ../init.d/lvm2-monitor
lrwxrwxrwx. 1 root root 19 May 17 21:57 S08ip6tables -> ../init.d/ip6tables
...省略...
從上面的輸出中可以看到,/etc/rc5.d中存放的都是一些鏈接文件,這些鏈接文件都存放在一個名為/etc/init.d的目錄中。好了,准備知識就到此為止!

二、命令用法

chkconfig的用途為,查看系統服務的啟動信息或更新系統服務的運行級別。我們再來了解一下man page中是如何介紹chkconfig的用途的:“chkconfig提供了一個簡單的,用於維護/etc/rc[0-6].d的目錄層級的命令行工具,通過使用該工具,極大地減輕了系統管理員在操作這些目錄中的符號鏈接方面的任務。”

語法:
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

選項:
--level:指定某個服務的運行級別。例如:--level 35指定的運行級別為3和5;
--list:列出被chkconfig所管理的所有服務及其在個運行級別下的啟動狀態;
--add:增加一個服務,在/etc/rc[0-6].d目錄下增加相關符號鏈接;
--del:刪除一個服務,從/etc/rc[0-6].d目錄下刪除相關符號連接;
--override:使用/etc/chkconfig.d目錄下的init script的功能覆蓋/etc/init.d目錄下的同名init script;
如果在服務名後接on、off、reset、resetpriorities其中之一,chkconfig命令將會改變指定服務的啟動信息,其中:on/off用於指示啟動/停止服務,reset用於根據啟動腳本(/etc/init.d目錄下與服務名同名文件)中定義重置服務的啟動/停止狀態,resetpriorities用於根據啟動腳本中的定義重置服務的啟動/停止優先級。以iptables的init script為例:

[root@primary-mysql init.d]# vi iptables 

#!/bin/sh
#
# iptables      Start iptables firewall
#
# chkconfig: 2345 08 92
# description:  Starts, stops and saves iptables firewall
#
...省略...

# 其中,2345是iptables的默認啟動級別,08是默認的啟動優先級,92是默認的停止優先級。
在默認情況下,on和off只影響2,3,4,5四種運行級別,reset和resetpriorities影響所有的運行級別。--level選項被用於指定到底將會影響哪(幾)種運行級別。

如果chkconfig使用--list參數或不帶參數,命令將顯示系統中所有的服務及它們的運行級別。如果chkconfig --list service_name,命令將顯示某個指定的服務的運行級別。

三、示例:配置一個服務並使其開機自啟動

# 確保在/etc/init.d目錄下存在服務的init script。

# 將服務加入chkconfig管理
chkconfig --add service_name

# 配置服務的運行級別及狀態
chkconfig --level 35 service_name on

# 確認配置結果
chkconfig --list service_name 或 chkconfig --list 或 chkconfig

Copyright © Linux教程網 All Rights Reserved