chkconfig命令详解

一、功能说明

chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。

注意:它不是直接对服务进行启动或停止,只是设置下一次启动时的操作。也只是简单的更改了符号链接。

二、语法格式

chkconfig [选项] [参数]

                      chkconfig [选项] [参数] [on/off/reset]

三、常用选项

--add:添加服务给chkconfig管理

--del:删除chkconfig列表里面某个服务

--list:列出chkconfig管理的服务列表

--level:设置级别(启动级别)

四、参数

服务的名称

五、实例

列出当前的开机启动的服务

[[email protected] init.d]# chkconfig--list
abrt-ccpp     0:off  1:off   2:off   3:off  4:off   5:off   6:off
abrtd         0:off  1:off   2:off   3:off  4:off   5:off   6:off
acpid         0:off  1:off   2:off   3:off  4:off   5:off   6:off
atd           0:off  1:off   2:off   3:off  4:off   5:off   6:off
auditd        0:off  1:off   2:off   3:off  4:off   5:off   6:off
cpuspeed      0:off  1:on    2:off   3:off  4:off   5:off   6:off
crond         0:off  1:off   2:on    3:on   4:on    5:on    6:off
haldaemon     0:off  1:off   2:off   3:off  4:off   5:off   6:off
ip6tables     0:off  1:off   2:off   3:off  4:off   5:off   6:off
iptables      0:off  1:off   2:off   3:off  4:off   5:off   6:off
irqbalance    0:off  1:off   2:off   3:off  4:off   5:off   6:off
kdump         0:off  1:off   2:off   3:off  4:off   5:off   6:off
lvm2-monitor  0:off  1:on    2:off   3:off  4:off   5:off   6:off
mdmonitor     0:off  1:off   2:off   3:off  4:off   5:off   6:off
messagebus    0:off  1:off   2:off   3:off  4:off   5:off   6:off
netconsole    0:off  1:off   2:off   3:off  4:off   5:off   6:off
netfs         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
nfs-rdma      0:off  1:off   2:off   3:off  4:off   5:off   6:off
sysstat       0:off  1:on    2:on    3:on   4:on    5:on    6:off
udev-post     0:off  1:on    2:off   3:off  4:off   5:off   6:off
[[email protected] init.d]#

六、扩展

1)    添加服务

[[email protected] init.d]# chkconfig--add lixin

注意:需要把启动脚本放在/etc/init.d下才可以使用chkconfig管理,并且由于chkconfig管理需要服务的启动脚本必须拥有指定格式才可以,所以我们添加的自启动服务,需要在文件头添加固定的格式

[[email protected] init.d]# headiptables

#!/bin/sh

#

# iptables      Start iptables firewall

#

# chkconfig: 2345 08 92     //定义启动级别,以及start和kill顺序

# description:  Starts,stops and saves iptables firewall

#                   //定义文件描述符

#

[[email protected] init.d]#

固定格式为:#chkconfig 234508 92

#description:xxxxxx

其中chkconfig 2345 0892,分别表示启动级别、启动顺序、关闭顺序。

启动级别分为7中:

  • 0级别:表示关机
  • 1级别:表示单用户,一般用来做root密码修改等
  • 2级别:多用户但不包含NFS服务
  • 3级别:完整的多用户模式(命令行模式)
  • 4级别:保留未使用
  • 5级别:表示图形界面
  • 6级别:表示重启
  • 这些级别在/etc/inittab中有明确定义。

开机关闭顺序,是我们手工指定的,指定的时候最好去/etc/rc.d/rc3.d下查看,一般避免和其他服务重复数字,并且尽量保持在100以内。

小结:我们执行chkconfig –level 3sshd on 时,它会在对应级别的启动目录下,产生一个以S开头的软连接用来指定这个服务的位置(在/etc/init.d/下)。如果 off掉,它会把之前的文件删掉,产生一个以K开头的软连接文件指定服务的位置。(K,Kill。S,Start

2)    精简开机启动服务

由于系统完毕后,基本所有的服务在2345级别都是打开的状态,为了优化服务,我们一般会选择性的开启那些我们必须的服务,规避一下安全隐患。

  • sshd服务:用来提供用户登录的服务。
  • crond服务:用来执行计划(定时)任务。
  • network服务:用来提供网络服务。
  • rsyslog服务:用来打印系统日志信息的服务。
  • sysstat服务:是一个软件包,包含监测系统性能及效率的一组工具包含:
    • iostat:提供CPU的使用率等数据
    • mpstat:提供单个或多个处理器的数据
    • sar:收集、报告存储系统的活跃信息

建议新系统只开启上述5个服务

3)    批量开关服务

方法1:因为所有服务默认是开启的,所以我们只需要关闭不需要的服务。

[[email protected] rc3.d]# chkconfig 
abrt-ccpp      0:off  1:off   2:on    3:on   4:on    5:on    6:off
smartd        0:off  1:off   2:on    3:on   4:on    5:on    6:off
sshd          0:off  1:off   2:on    3:on   4:on    5:on    6:off
svnserve       0:off  1:off   2:on    3:on   4:on    5:on    6:off
sysstat        0:off  1:on    2:on    3:on   4:on    5:on    6:off
udev-post      0:off  1:on    2:on    3:on   4:on    5:on    6:off
……
[[email protected] rc3.d]#
[[email protected] rc3.d]# chkconfig |grep -Ev "sshd|crond|network|rsyslog|sysstat"
abrt-ccpp      0:off  1:off   2:on    3:on   4:on    5:on    6:off
restorecond    0:off  1:off   2:on    3:on   4:on    5:on    6:off
rngd          0:off  1:off   2:on    3:on   4:on    5:on    6:off
saslauthd      0:off  1:off   2:on    3:on   4:on    5:on    6:off
smartd         0:off  1:off   2:on    3:on   4:on    5:on    6:off
svnserve       0:off  1:off   2:on    3:on   4:on    5:on    6:off
udev-post      0:off  1:on    2:on    3:on   4:on    5:on    6:off
……    //筛选出除sshd,crond,network,sysstat,rsyslog以外的服务
[[email protected] rc3.d]# chkconfig |grep -Ev "sshd|crond|network|rsyslog|sysstat" | awk ‘{print $1}‘
lvm2-monitor
mdmonitor
messagebus
netconsole
netfs
nfs-rdma
ntpd
ntpdate
postfix
psacct
quota_nld
……   //利用awk用空格分隔把服务的名称取出
[[email protected] rc3.d]# chkconfig |grep -Ev "sshd|crond|network|rsyslog|sysstat" | awk ‘{print"chkconfig",$1,"off"}‘
chkconfig restorecond off
chkconfig rngd off
chkconfig saslauthd off
chkconfig smartd off
chkconfig svnserve off
chkconfig udev-post off
……      //利用awk的print参数拼出命令
[[email protected] rc3.d]# chkconfig |grep -Ev "sshd|crond|network|rsyslog|sysstat" | awk ‘{print"chkconfig",$1,"off"}‘ |bash  //交给bash来执行
[[email protected] rc3.d]# [[email protected]]# chkconfig |grep -E ‘crond|sshd|network|rsyslog|sysstat‘
crond         0:off  1:off   2:on    3:on   4:on    5:on    6:off
network       0:off  1:off   2:on    3:on   4:on    5:on    6:off
rsyslog       0:off  1:off   2:on    3:on   4:on    5:on    6:off
sshd          0:off  1:off   2:on    3:on   4:on    5:on    6:off
sysstat       0:off  1:on    2:on    3:on   4:on    5:on    6:off
[[email protected] rc3.d]#

方法二:首先关闭所有服务,然后只开启我们需要的五个服务

[[email protected] rc3.d]# chkconfig |awk ‘{print $1}‘
abrt-ccpp
abrtd
acpid
atd
sshd
svnserve
sysstat
……      //用awk过滤出服务名称
[[email protected] rc3.d]# chkconfig |awk ‘{print "chkconfig",$1,"off"}‘
chkconfig postfix off
chkconfig psacct off
chkconfig quota_nld off
chkconfig rdisc off
chkconfig rdma off
chkconfig restorecond off
chkconfig rngd off
……      //使用awk的print参数拼出命令
 [[email protected] rc3.d]# chkconfig | awk ‘{print"chkconfig",$1,"off"}‘| bash       //关闭所有服务
 [[email protected] rc3.d]# chkconfig 
abrt-ccpp     0:off  1:off   2:off   3:off  4:off   5:off   6:off
abrtd         0:off  1:off   2:off   3:off  4:off   5:off   6:off
acpid         0:off   1:off  2:off   3:off   4:off  5:off   6:off
atd           0:off  1:off   2:off   3:off  4:off   5:off   6:off
auditd        0:off  1:off   2:off   3:off  4:off   5:off   6:off
messagebus     0:off  1:off   2:off   3:off  4:off   5:off   6:off
netconsole     0:off  1:off   2:off   3:off  4:off   5:off   6:off
netfs         0:off  1:off   2:off   3:off  4:off   5:off   6:off
……
[[email protected] rc3.d]# chkconfig--list|egrep "crond|sshd|network|rsyslog|sysstat"|awk ‘{print"chkconfig",$1,"on"}‘|bash     //开启五个服务
[[email protected] rc3.d]# chkconfig|grep -E ‘crond|sshd|network|rsyslog|sysstat‘  //验证
crond         0:off  1:off   2:on    3:on   4:on    5:on    6:off
network       0:off  1:off   2:on    3:on   4:on    5:on    6:off
rsyslog       0:off   1:off  2:on    3:on    4:on   5:on    6:off
sshd          0:off  1:off   2:on    3:on   4:on    5:on    6:off
sysstat       0:off  1:on    2:on    3:on   4:on    5:on    6:off
[[email protected] rc3.d]#
时间: 2024-10-11 23:27:45

chkconfig命令详解的相关文章

Linux下chkconfig命令详解

Linux下chkconfig命令详解 chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 使用语法:chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代号>][系统服务][on/off/reset] chkconfig在没有参数运行时,显示用法.如果加上服务名,那么就检查这个服务是否在当前运行级启动.如果是,返

转载的 Linux下chkconfig命令详解

Linux下chkconfig命令详解 chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 使用语法: chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代号>][系统服务][on/off/reset] chkconfig 在没有参数运行时,显示用法.如果加上服务名,那么就检查这个服务是否在当前运行级启动.如果是

开机启动服务:chkconfig命令详解

1.查看系统运行级别 # cat /etc/inittab # Default runlevel. The runlevels used are:#   0 - halt (Do NOT set initdefault to this)#   1 - Single user mode#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)#   3 - Full multiuser mode#  

Linux/CentOS 服务安装/卸载,开机启动chkconfig命令详解|如何让MySQL、Apache开机启动?

chkconfig chkconfig在命令行操作时会经常用到.它可以方便地设置和查询不同运行级上的系统服务.这个可要好好掌握,用熟练之后,就可以轻轻松松的管理好你的启动服务了. 注:谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 语法: chkconfig       [--add]      [--del]     [--list]      [系统服务] chkconfig       [--level/levels]      [等级代号]     

Linux下chkconfig命令详解(转)

Linux下chkconfig命令详解 chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 使用语法:chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代号>][系统服务][on/off/reset] chkconfig在没有参数运行时,显示用法.如果加上服务名,那么就检查这个服务是否在当前运行级启动.如果是,返

Linux下chkconfig命令详解即添加服务以及两种方式启动关闭系统服务

chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 一.chkconfig 的使用语法 1.chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <levels等级代号>][系统服务][on/off/reset] 2.参数用法: --add 增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文

chkconfig命令详解(Linux)

chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 使用语法: chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代号>][系统服务][on/off/reset] chkconfig 在没有参数运行时,显示用法.如果加上服务名,那么就检查这个服务是否在当前运行级启动.如果是,返回true,否则返回false.如果

Linux下chkconfig命令详解--(启动或停止)和查询系统服务的运行级信息

chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 使用语法:chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代号>][系统服务][on/off/reset] chkconfig在没有参数运行时,显示用法.如果加上服务名,那么就检查这个服务是否在当前运行级启动.如果是,返回true,否则返回false.如果在服

Linux chkconfig 命令详解

一.简介 chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 二.安装 [email protected]:~$ sudo apt-get install chkconfig 三.用法 [email protected]:~$ chkconfig --help usage: chkconfig -A|--allservices (together with -l: show all ser