Back to main site | Back to man page index

CHKCONFIG(8)                                   System Manager's Manual                                   CHKCONFIG(8)

       chkconfig - updates and queries runlevel information for system services

       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

       chkconfig  provides  a  simple  command-line  tool  for  maintaining the /etc/rc[0-6].d directory hierarchy by
       relieving system administrators of the task of directly manipulating the  numerous  symbolic  links  in  those

       This  implementation  of chkconfig was inspired by the chkconfig command present in the IRIX operating system.
       Rather than maintaining configuration information outside of the /etc/rc[0-6].d hierarchy, however, this  ver‐
       sion directly manages the symlinks in /etc/rc[0-6].d. This leaves all of the configuration information regard‐
       ing what services init starts in a single location.

       chkconfig has five distinct functions: adding new services for management, removing services from  management,
       listing  the  current  startup  information  for  services, changing the startup information for services, and
       checking the startup state of a particular service.

       When chkconfig is run with only a service name, it checks to see if the service is configured to be started in
       the  current runlevel. If it is, chkconfig returns true; otherwise it returns false. The --level option may be
       used to have chkconfig query an alternative runlevel rather than the current one.

       When chkconfig is run with the --list argument, or no arguments at all, a listing is displayed of all services
       and their current configuration.

       If  one  of  on,  off,  reset,  or  resetpriorities is specified after the service name, chkconfig changes the
       startup information for the specified service.  The on and off flags  cause  the  service  to  be  started  or
       stopped,  respectively,  in  the  runlevels being changed. The reset flag resets the on/off state for all run‐
       levels for the service to whatever is specified in the init script in question, while the resetpriorities flag
       resets the start/stop priorities for the service to whatever is specified in the init script.

       By  default,  the  on  and  off  options affect only runlevels 2, 3, 4, and 5, while reset and resetpriorities
       affects all of the runlevels.  The --level option may be used to specify which runlevels are affected.

       Note that for every service, each runlevel has either a start script or a stop script.   When  switching  run‐
       levels, init will not re-start an already-started service, and will not re-stop a service that is not running.

       chkconfig also can manage xinetd scripts via the means of xinetd.d configuration files. Note that only the on,
       off, and --list commands are supported for xinetd.d services.

       chkconfig supports a --type argument to limit actions to only a specific type of services, in the  case  where
       services of either type may share a name. Possible values for type are sysv and xinetd.

       --level levels
              Specifies  the  run levels an operation should pertain to. It is given as a string of numbers from 0 to
              This  option  adds  a  new service for management by chkconfig.  When a new service is added, chkconfig
              ensures that the service has either a start or a kill entry in every runlevel. If any runlevel is miss‐
              ing  such  an  entry, chkconfig creates the appropriate entry as specified by the default values in the
              init script. Note that default entries in LSB-delimited 'INIT INFO' sections take precedence  over  the
              default  runlevels  in  the initscript; if any Required-Start or Required-Stop entries are present, the
              start and stop priorities of the script will be adjusted to account for these dependencies.

       --del name
              The service is removed from chkconfig management, and any symbolic links in /etc/rc[0-6].d  which  per‐
              tain to it are removed.

              Note  that  future  package  installs  for this service may run chkconfig --add, which will re-add such
              links. To disable a service, run chkconfig name off.

       --override name
              If service name is configured exactly as it would be if the --add option had  been  specified  with  no
              override  file  in /etc/chkconfig.d/name, and if /etc/chkconfig.d/name now exists and is specified dif‐
              ferently from the base initscript, change the configuration for service name to  follow  the  overrides
              instead of the base configuration.

       --list name
              This  option  lists  all  of  the services which chkconfig knows about, and whether they are stopped or
              started in each runlevel. If name is specified, information in only display about service name.

       Each service which should be manageable by chkconfig needs two or more commented lines  added  to  its  init.d
       script.  The first line tells chkconfig what runlevels the service should be started in by default, as well as
       the start and stop priority levels. If the service should not, by default, be started in any  runlevels,  a  -
       should  be  used  in place of the runlevels list.  The second line contains a description for the service, and
       may be extended across multiple lines with backslash continuation.

       For example, random.init has these three lines:
       # chkconfig: 2345 20 80
       # description: Saves and restores system entropy pool for \
       #              higher quality random number generation.
       This says that the random script should be started in levels 2, 3, 4, and 5, that its start priority should be
       20,  and that its stop priority should be 80.  You should be able to figure out what the description says; the
       \ causes the line to be continued.  The extra space in front of the line is ignored.

       chkconfig also supports LSB-style init stanzas, and will apply them in preference to "chkconfig:" lines  where
       available.  A LSB stanza looks like:
       ### BEGIN INIT INFO
       # Provides: foo
       # Required-Start: bar
       # Defalt-Start: 2 3 4 5
       # Default-Stop: 0 1 6
       # Description: Foo init script
       ### END INIT INFO

       In  this case, the start priority of "foo" would be changed such that it is higher than the "bar" start prior‐

       Erik Troan <[email protected]>

4th Berkeley Distribution                           Wed Oct 8 1997                                       CHKCONFIG(8)