Skip to main content

Chkconfig - 了解Linux / Unix命令

【第95课】Linux优化之利用chkconfig sed awk多种方法解决开机启动实战 (六月 2025)

【第95课】Linux优化之利用chkconfig sed awk多种方法解决开机启动实战 (六月 2025)
Anonim

Chkconfig提供了一个简单的命令行工具,用于维护/etc/rc0-6.d目录层次结构,方法是减轻系统管理员直接操作这些目录中众多符号链接的任务。

概要

Chkconfig更新并查询系统服务的运行级别信息。

  • chkconfig --list 名称
  • chkconfig --add 名称
  • chkconfig --del 名称
  • chkconfig --level 水平 名称
  • chkconfig --level 水平 名称

chkconfig的这种实现受到了IRIX操作系统中存在的chkconfig命令的启发。但是,不是将配置信息保存在/etc/rc0-6.d层次结构之外,而是直接管理/etc/rc0-6.d中的符号链接。这会留下有关哪些服务的所有配置信息 在里面 从一个地方开始。

Chkconfig有五个不同的功能:为管理添加新服务,从管理中删除服务,列出服务的当前启动信息,更改服务的启动信息以及检查特定服务的启动状态。

在没有任何选项的情况下运行chkconfig时,它会显示用法信息。如果仅提供服务名称,则会检查该服务是否配置为在当前运行级别中启动。如果是,则chkconfig返回true;否则返回false。 --level选项可用于让chkconfig查询备用运行级别而不是当前运行级别。

如果在服务名称之后指定了on,off或reset之一,则chkconfig将更改指定服务的启动信息。 on和off标志分别导致在更改的运行级别中启动或停止服务。 reset标志将服务的启动信息重置为相关init脚本中指定的任何内容。

默认情况下,on和off选项仅影响运行级别2,3,4和5,而reset会影响所有运行级别。 --level选项可用于指定受影响的运行级别。

请注意,对于每个服务,每个运行级别都有一个启动脚本或一个停止脚本。切换运行级别时,init不会重新启动已启动的服务,也不会重新停止未运行的服务。

选项

- 水平 水平

指定操作应该属于的运行级别。它以0到7之间的数字字符串给出。例如, - level 35指定运行级别3和5。

- 加 名称

此选项为chkconfig管理添加新服务。添加新服务时,chkconfig确保服务在每个运行级别中都有一个start或kill条目。如果任何运行级别缺少这样的条目,则chkconfig将创建由init脚本中的缺省值指定的相应条目。请注意,LSB分隔的“INIT INFO”部分中的默认条目优先于initscript中的默认运行级别。

--del 名称

该服务将从chkconfig管理中删除,并删除/etc/rc0-6.d中与其相关的任何符号链接。

--list 名称

此选项列出chkconfig知道的所有服务,以及它们是在每个运行级别中停止还是启动。如果 名称 指定,仅显示有关服务的信息 名称 .

运行级别文件

应该由ch​​kconfig管理的每个服务都需要在其init.d脚本中添加两条或更多条注释行。第一行告诉chkconfig默认情况下应该启动服务的运行级别,以及启动和停止优先级。如果默认情况下,服务不应在任何运行级别中启动,则应使用 - 代替运行级别列表。第二行包含服务的描述,可以使用反斜杠延续跨多行进行扩展。

例如,random.init有以下三行:

#chkconfig:2345 20 80#description:为#更高质量的随机数生成保存和恢复系统熵池。

这表示随机脚本应该在2,3,4和5级开始,它的起始优先级应该是20,并且它的停止优先级应该是80.你应该能够弄清楚描述的内容; 导致该行继续。线前面的额外空间被忽略。