chkconfig

命令说明

更新(启动或停止)和查询系统服务的运行级信息


这是Rec Hat公司遵循GPL规则所开发的程序,它可以查询操作系统在每一个执行等级中会执行哪些系统服务,其中包括各类常驻服务。

chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接


语法:

chkconfig [--add] [--del] [--list] [系统服务]

chkconfig [--level<等级代号>] [系统服务] [on/off/reset]

参数:

--add :新增所指定的系统服务

--del :删除所指定的系统服务

--level :指定该系统服务要在哪个执行等级中个开启或关不

--list :列出当前可从chkconfig指令管理的所有系统服务和等级代号

on/off/reset :在指定的执行登记,开启/关闭/重置该系统服务


linux os将操作系统环境分为以下7个等级:

0 :关机(请不要切换到此等级)

1 :单用户模式

2 :无网络支持的多用户模式

3 :有网络支持的多用户模式

4 :有网络支持,有X Window支持的多用户模式

5 :保留,未使用

6 :重新启动


NFSNetwork File System 的简写,即网络文件系统

网络文件系统是FreeBSD支持的文件系统中的一种,也被成为NFSMFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地一样访问远端系统上的文件。

1.chkconfig命令也可以用来激活和解除服务。chkconfig --list 命令显示系统服务列表,以及这些服务在运行级别06中已被启动(on)还是停止(off

  chkconfig --list

  chkconfig --list http

2.chkconfig还能用来设置某一服务在某一指定的运行级别内被启动还是被停运。例如,要在运行级级别345中停运nscd服务,使用下面的命令:

chkconfig--level 345 nscd off

3.xinetd管理的服务会立即被chkconfig影响。例如:如果xinetd在运行,finger被禁用,那么执行了chkconfig finger on 命令后,finger就不必手工的重新启动xinetd来立即启用。对其他服务的改变在使用chkconfig之后不会立即生效,必须使用service servicenamestart/stop/restart命令来重启服务。


chkconfig没有参数运行时,显示用法。如果加上了服务名,那么就检查这个服务是否在当前运行级启动。如果是,返回true,否则返回false。如果在服务名后面指定了onoff或者reset,那么chkconfig会改变指定服务的启动信息。onoff分别指服务被启动和停止,reset指重置服务的启动信息,无论有问题的初始化脚本指定了什么。onoff开关,系统默认只对运行级345有效,但是reset可以对所有级有效。


--level选项可以指定要查看的运行级别而一定是当前运行级


对于每个运行级,只能有一个启动脚本或者停止脚本。当切换运行级时,init不会重新启动已经启动的服务,也不会再次去停止已经停止的服务。


chkconfig --list:显示所有运行系统服务的运行状态信息(onoff)。如果指定了name,那么只显示指定的服务在不同运行级的状态。


范例:

查看在各种不同的执行等级中,各项服务的状态:

chkconfig --list


列出系统服务vsftpd在各个执行等级的启动状态:

chkconfig --listvsftpd


在执行等级35时,关闭vsftpd系统服务:

chkconfig--level 35 vsftpd off


在执行等级235时,开启vsftpd系统服务:

chkconfig--level 235 vsftpd on


关闭一些自己不需要的服务:

如果没有打印机:

chkconfgi--level 235 cups off

如果没有局域网:

chkconfig--level 235 smb off

如果不需要远程用户登录:

chkconfig--level 235 sshd off

如果不需要定时任务:

chkconfig--level 235 crond off

如果不需要添加新硬件:

chkconfig--level 235 kudzu off


如何增加一个服务:

1.服务脚本必须存放在/etc/ini.d/目录下;

2.chkconfig--add servicename

chkconfig工具服务列表中增加此服务,此时服务会被在/etc/rc.d/rcN.d中赋予K/S入口了;

3.chkconfig--level 35 mysqld on

修改服务的默认启动等级。



Chkconfig命令主要三用来更新(启动或停止)和查询系统服务的运行级信息。Chkconfig不是立即自动启动或禁止或激活一个服务,而只是简单的改变了符号连接。

②使用语法:

Chkconfig [--add] [--del ] [--list]chkconfig [--level] <等级代号[系统服务]> [on/off/reset]

--add 增加所制定的系统服务,让chkconfig指令管理,并同时在系统启动的叙述文件中增加相关的数据

--del 删除锁制定的系统服务,使其不收chkconfig指令管理,并在系统启动文件中删除相关的数据

--level <等级代号>

等级0表示:关机

等级1表示:单用户无网络连接的命令行模式

等级2表示:无网络连接的多用户命令行模式

等级3表示:有网络连接的多用户命令行模式

等级4表示:不可用

等级5表示:带图形界面的多用户模式

等级6表示:重新启动


查看系统运行级别的两种方法:who r  runlevel

注意:当切换系统运行级别的时候,系统根据启动脚本,来重新加载

例:chkconfig level 5 mysqld off (设置mysql服务在5等级下为关闭)

  Chkconfig level 3mysqld on (设置mysql3等级下启动)

当从35的时候,系统就会根据启动脚本自动关闭mysql服务,如果从5切到3则会重新加载启动

重点:每个被chkconfig管理的服务需要在对应的init.d下的脚本下加上两行或者多行注释,第一行告诉chkconfig启动的运行级以及启动和停止的优先级。如果某服务缺省不在任何运行级别启动,那么实用 - 代替运行级别。第二对服务进行描述,

如:

 #chkconfig: 2345 20 80

# description: Saves and restores systementropy pool for \

# higher quality random number generation.

2345 运行级别

20 启动顺序,是服务在/etc/rcx.d文件里面的顺序。这组数字就是系统启动的时候服务启动的优先级---数字越小,优先级越高,也就是启动的时候数值越小越先启动

80 停止顺序,这组数值就是系统关闭的时候关闭服务的优先级---数字越小,优先级越高,也就是关闭的时候数值越小越先关闭

③使用范例:

Chkconfig list 列出系统的所有服务

Chkconcif add mysqld 增加mysqld服务

Chkconfig del mysqld 删除mysqld服务

Chkconfig level 35 mysqld on 设置mysqld35等级下启动

Chkconfig mysqld on 设置mysqld在各等级下都启动,各等级包括2345.

④如何增加一个服务:

1.服务脚本必须存放在/etc/ini.d/目录下;

2.chkconfig --add servicename

chkconfig工具服务列表中增加此服务,此时服务会被在/etc/rc.d/rcN.d中赋予K/S入口了;

3.chkconfig --level 35 mysqld on 修改服务的默认启动等级。

配置开机启动将启动脚本放在/etc/rc.d/rc.local下就可以启动了。编辑rc.local这个文件。

例如讲 mysql加入到开机启动

1、编辑rc.local文件

#vi/etc/rc.d/rc.local

2、加入如下启动命令

/etc/rc.d/init.d/mysqld start

注意:如果在/etc/rc.d/rc.local中写入了自动启动,即使chkconfig level mysqld off  mysql也会自动启动。



命令实践:

[root@yubing ~]#chkconfig --list 查看在各种不同的执行等级中,各项服务的状态

NetworkManager  0:off  1:off   2:off   3:off  4:off   5:off   6:off

acpid           0:off   1:off  2:on    3:on    4:on   5:on    6:off

anacron         0:off  1:off   2:on    3:on   4:on    5:on    6:off

apmd            0:off   1:off  2:on    3:on    4:on   5:on    6:off

.................

[root@yubing ~]#chkconfig

chkconfigversion 1.3.30.2 - Copyright (C) 1997-2000Red Hat, Inc.

This may befreely redistributed under the terms of the GNU Public License.


usage:   chkconfig --list [name]

        chkconfig --add <name>

        chkconfig --del <name>

        chkconfig [--level <levels>]<name> <on|off|reset|resetpriorities>


[root@yubing ~]#chkconfig --list nfs  列出系统服务nfs在各个执行等级的启动状态

nfs             0:off   1:off  2:off   3:off   4:off  5:off   6:off

[root@yubing ~]#chkconfig --level 3 nfs on    在执行等级3时,打开nfs服务

[root@yubing ~]#chkconfig --list nfs      

nfs             0:off   1:off  2:off   3:on    4:off  5:off   6:off

[root@yubing ~]#chkconfig --level 3 nfs off    在执行等级3时,关闭nfs服务

[root@yubing ~]#chkconfig --list nfs      

nfs             0:off   1:off  2:off   3:off   4:off  5:off   6:off

[root@yubing ~]#