Linux系统之chkconfig命令详解
1. 命令概述
chkconfig
是一个用于管理系统服务运行级别信息的工具。它通过管理 /etc/rc[0-6].d
目录中的符号链接,简化了系统管理员手动管理服务启动和停止的任务。chkconfig
支持添加、删除、列出、更改和检查服务的启动信息。
2. 基本语法
chkconfig [--list] [--type type] [name]
chkconfig --add name
chkconfig --del name
chkconfig --override name
chkconfig [--level levels] [--type type] [--no-redirect] name <on|off|reset|resetpriorities>
chkconfig [--level levels] [--type type] [--no-redirect] name
参数说明
name
:服务名称。--level levels
:指定操作的运行级别(如2345
)。--type type
:限制操作的服务类型(如sysv
或xinetd
)。--no-redirect
:禁用向systemd
的重定向(仅适用于使用systemd
的系统)。--add
:添加新服务到chkconfig
管理。--del
:从chkconfig
管理中删除服务。--override
:使用覆盖文件中的配置。--list
:列出所有服务的启动信息。on|off|reset|resetpriorities
:设置服务的启动状态。
3. 常用选项
选项 | 说明 |
---|---|
--level levels | 指定操作的运行级别(如 2345 )。 |
--type type | 限制操作的服务类型(如 sysv 或 xinetd )。 |
--no-redirect | 禁用向 systemd 的重定向。 |
--add name | 添加新服务到 chkconfig 管理。 |
--del name | 从 chkconfig 管理中删除服务。 |
--override name | 使用覆盖文件中的配置。 |
--list | 列出所有服务的启动信息。 |
on|off|reset|resetpriorities | 设置服务的启动状态。 |
4. 使用示例
示例 1:列出所有服务的启动信息
chkconfig --list
输出示例:
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
httpd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
说明:列出所有服务的启动信息。
示例 2:启用服务
chkconfig httpd on
说明:在默认运行级别(2、3、4、5)启用 httpd
服务。
示例 3:禁用服务
chkconfig httpd off
说明:在默认运行级别(2、3、4、5)禁用 httpd
服务。
示例 4:指定运行级别启用服务
chkconfig --level 35 httpd on
说明:在运行级别 3 和 5 启用 httpd
服务。
示例 5:添加新服务
chkconfig --add myservice
说明:将 myservice
添加到 chkconfig
管理。
示例 6:删除服务
chkconfig --del myservice
说明:从 chkconfig
管理中删除 myservice
。
示例 7:重置服务的启动状态
chkconfig httpd reset
说明:将 httpd
服务的启动状态重置为初始配置。
示例 8:检查服务的启动状态
chkconfig httpd
输出示例:
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
说明:检查 httpd
服务的启动状态。
示例 9:使用覆盖文件配置服务
chkconfig --override myservice
说明:使用 /etc/chkconfig.d/myservice
中的配置覆盖 myservice
的默认配置。
5. 配置文件
chkconfig
通过 /etc/rc[0-6].d
目录中的符号链接管理服务的启动和停止。每个服务的初始化脚本需要包含以下注释行:
# chkconfig: 2345 20 80
# description: My custom service
2345
:默认启动的运行级别。20
:启动优先级。80
:停止优先级。
6. 注意事项
-
权限要求:
chkconfig
通常需要 root 权限才能运行。
-
运行级别:
- 运行级别 0 表示关机,1 表示单用户模式,2-5 表示多用户模式,6 表示重启。
-
systemd
兼容性:- 在使用
systemd
的系统上,chkconfig
会将命令重定向到systemd
,除非使用--no-redirect
选项。
- 在使用