1.命令简介
chkconfig 命令用于更新和查询系统服务的运行等级信息。它可查询操作系统在每一个运行等级中会自动执行哪些系统服务,包括各类常驻服务,比如 httpd、sshd、mysqld 等。
chkconfig 实际上是通过改变七个不同运行等级目录 /etc/rc[0-6].d 中服务脚本的符号链接,来设置操作系统在每一个运行等级中会执行哪些系统服务。chkconfig 不是用于立即启动或停止某一个服务,这一点与 service 不同。
chkconfig 有五个功能:
(1)添加新的服务供 chkconfig 管理;
(2)从 chkconfig 管理服务列表中删除服务;
(3)列出 chkconfig 管理的所有服务的当前启动信息;
(4)更改服务的启动信息;
(5)检查特定服务的启动状态。2.命令格式
没有任何选项的 chkconfig 或跟选项 –list 将显示所有服务及其当前配置的列表。
当 chkconfig 后只跟服务名时,会检查服务是否配置为在当前运行级别自启动,如果是,则 chkconfig 返回 true,否则返回 false。–level 选项可用于让 chkconfig 查询其它运行级别而不是当前运行级别下的配置。
如果在服务名称之后指定了 on、off、reset 或 resetpriorities 之一,chkconfig 将更改指定服务的启动信息。on 和 off 标志分别导致服务在正在更改的运行级别中设置为启动或停止。reset 标志将服务的所有运行级别的开关状态重置为相关 init 脚本中指定的值,而 resetpriorities 标志将服务的启动/停止优先级重置为 init 脚本中指定的值。默认情况下,on 和 off 选项仅影响运行级别 2、3、4 和 5,而 reset 和 resetpriorities 影响所有运行级别。–level 选项可用于指定受影响的运行级别。
3.选项说明
4.常用示例
(1)列出所有的系统服务。
(2)将 Apache Web 服务器配置为在每次系统启动时启动。
当您成功地使用 chkconfig 启用服务时,该命令不提供任何确认消息。
(3)设置 network 在运行级别为 2、3、4、5 的情况下都是关闭状态,即不启动。
(4)查看 network 服务的自启动状态。
5.拓展知识
5.1 注册服务到 chkconfig
每个被 chkconfig 管理的服务需要在对应的 /etc/rc.d/init.d 下的管理脚本加上两行或者更多行的注释。第一行告诉 chkconfig 缺省启动的运行级以及启动和停止的优先级。如果某服务缺省不在任何运行级启动,那么使用 – 代替运行级。第二行对服务进行描述,可以用 \ 跨行注释。例如 /etc/rc.d/init.d/network 中的注释:
其中第一行表示运行等级在 2、3、4 和 5,启动优先级为 10,停止优先级为 90。第二行和第三行为服务 network 的描述。
5.2 Linux 系统的 7 个运行级别
运行级别是操作系统当前正在运行的功能级别,它让一些程序在一个级别启动,而在另外一个级别的时候不启动。Linux 系统一般使用 7 个级别。
0 停机状态。系统默认运行级别不能设为 0,否则不能正常启动
1 单用户模式,root权限,用于系统维护,禁止远程登陆
2 无网络的多用户模式
3 有网络的多用户模式
4 系统未使用,保留
5 图形化界面
6 系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动默认的运行级别可以在文件 /etc/inittab 查看。一般自用的 Linux 默认登录等级为 5,即开机进入图形用户界面,远程登录的运行等级为 3,进入命令行交互界面。
运行级别的原理:
(1)在目录 /etc/rc.d/init.d 下有许多服务管理脚本,每个服务被称为 service;
(2)在 /etc/rc.d 下有 7 个名为 rcN.d 的目录,对应系统的 7 个运行级别;
(3)rcN.d 目录下都是一些符号链接文件,这些链接文件都指向 init.d 目录下的 service 脚本文件,命名规则为K+nn+服务名或S+nn+服务名,其中 nn 为两位数字。
(4)系统会根据指定的运行级别进入对应的 rcN.d 目录,并按照文件名顺序检索目录下的链接文件:对于以 K 开头的文件,系统将终止对应的服务
对于以 S 开头的文件,系统将启动对应的服务(5)查看运行级别用:runlevel;
(6)进入其它运行级别用:(sudo) init N;
(7)另外 init 0 为关机,init 6 为重启系统。另外,当使用 runlevel 查看运行级别时,结果会显示前一次的运行级别和现在的运行级别,如果前次的运行级别为 N,那么说明前次没有运行级别(可能刚刚 power on)。
以上就是Linux chkconfig 命令的使用的详细内容,更多关于Linux chkconfig 命令的资料请关注服务器之家其它相关文章!
原文链接:https://cloud.tencent.com/developer/article/1556916