Linux chkconfig 命令的使用
1.命令简介
chkconfig命令用于更新和查询系统服务的运行等级信息。它可查询操作系统在每一个运行等级中会自动执行哪些系统服务,包括各类常驻服务,比如httpd、sshd、mysqld等。
chkconfig实际上是通过改变七个不同运行等级目录/etc/rc[0-6].d中服务脚本的符号链接,来设置操作系统在每一个运行等级中会执行哪些系统服务。chkconfig不是用于立即启动或停止某一个服务,这一点与service不同。
chkconfig有五个功能:
(1)添加新的服务供chkconfig管理;
(2)从chkconfig管理服务列表中删除服务;
(3)列出chkconfig管理的所有服务的当前启动信息;
(4)更改服务的启动信息;
(5)检查特定服务的启动状态。
2.命令格式
chkconfig service[OPTIONS]SERVICENAME
没有任何选项的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.选项说明
--levelLEVELS 指定操作应属于的运行级别。0到6组成的数字串。例如,-level35指定运行级别3和5 --no-redirect 如果系统使用systemd作为系统的启动进程,chkconfig将命令转发给systemd。此选项将关闭到systemd的重定向,并且仅在/etc/rc[0-6].d中的符号链接上操作。此选项仅在on、off或没有向服务传递命令(检查启用)时有效 --addSERVICENAME 添加一个新服务供chkconfig管理 --delSERVICENAME 将从chkconfig管理中删除该服务,并删除/etc/rc[0-6].d中与其相关的任何符号链接 --overrideSERVICENAME 更改服务配置 --list[SERVICENAME] 列出chkconfig所知的所有服务在不同运行等级下的启动状态。如果指定SERVICENAME,则只列出具体的服务的启动状态
4.常用示例
(1)列出所有的系统服务。
chkconfig Note:ThisoutputshowsSysVservicesonlyanddoesnotincludenative systemdservices.SysVconfigurationdatamightbeoverriddenbynative systemdconfiguration. Ifyouwanttolistsystemdservicesuse'systemctllist-unit-files'. Toseeservicesenabledonparticulartargetuse 'systemctllist-dependencies[target]'. bootlocal 0:off 1:off 2:off 3:on 4:off 5:off 6:off irqaffinity 0:off 1:off 2:on 3:on 4:on 5:on 6:off netconsole 0:off 1:off 2:off 3:off 4:off 5:off 6:off network 0:off 1:off 2:on 3:on 4:on 5:on 6:off qemu-ga 0:off 1:off 2:on 3:on 4:on 5:on 6:off rename_netifs 0:off 1:off 2:off 3:on 4:off 5:off 6:off
(2)将ApacheWeb服务器配置为在每次系统启动时启动。
chkconfighttpdon
当您成功地使用chkconfig启用服务时,该命令不提供任何确认消息。
(3)设置network在运行级别为2、3、4、5的情况下都是关闭状态,即不启动。
chkconfignetworkoff #或 chkconfig--level2345networkoff
(4)查看network服务的自启动状态。
chkconfig--listnetwork Note:ThisoutputshowsSysVservicesonlyanddoesnotincludenative systemdservices.SysVconfigurationdatamightbeoverriddenbynative systemdconfiguration. Ifyouwanttolistsystemdservicesuse'systemctllist-unit-files'. Toseeservicesenabledonparticulartargetuse 'systemctllist-dependencies[target]'. network 0:off 1:off 2:off 3:off 4:off 5:off 6:off
5.拓展知识
5.1注册服务到chkconfig
每个被chkconfig管理的服务需要在对应的/etc/rc.d/init.d下的管理脚本加上两行或者更多行的注释。第一行告诉chkconfig缺省启动的运行级以及启动和停止的优先级。如果某服务缺省不在任何运行级启动,那么使用-代替运行级。第二行对服务进行描述,可以用\跨行注释。例如/etc/rc.d/init.d/network中的注释:
#chkconfig:23451090 #description:Activates/Deactivatesallnetworkinterfacesconfiguredto\ #startatboottime.
其中第一行表示运行等级在2、3、4和5,启动优先级为10,停止优先级为90。第二行和第三行为服务network的描述。
5.2Linux系统的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)initN;
(7)另外init0为关机,init6为重启系统。
另外,当使用runlevel查看运行级别时,结果会显示前一次的运行级别和现在的运行级别,如果前次的运行级别为N,那么说明前次没有运行级别(可能刚刚poweron)。
以上就是Linuxchkconfig命令的使用的详细内容,更多关于Linuxchkconfig命令的资料请关注毛票票其它相关文章!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。