chkconfig is a simple command-line tool that helps a Linux administrator configure, maintain, autostart and manage the configuration of the symlinks located in /etc/rc[0-6].d path.
First of all let me show you which are the most used services in a Linux distributuion.
You can find out what services can be started in your server by typing:
chkconfig --list
The output should look something like this:
~ # chkconfig --list acpid 0:off 1:off 2:on 3:on 4:on 5:on 6:off cgconfig 0:off 1:off 2:off 3:off 4:off 5:off 6:off cgred 0:off 1:off 2:off 3:off 4:off 5:off 6:off cmdavd 0:off 1:off 2:off 3:off 4:off 5:off 6:off cmdmgd 0:off 1:off 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 htcacheclean 0:off 1:off 2:off 3:off 4:off 5:off 6:off httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off ip6tables 0:off 1:off 2:on 3:on 4:on 5:on 6:off iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off mailman 0:off 1:off 2:on 3:on 4:on 5:on 6:off mdmonitor 0:off 1:off 2:on 3:on 4:on 5:on 6:off mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off named 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 netfs 0:off 1:off 2:off 3:on 4:on 5:on 6:off network 0:off 1:off 2:on 3:on 4:on 5:on 6:off ntpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off ntpdate 0:off 1:off 2:off 3:off 4:off 5:off 6:off portreserve 0:off 1:off 2:on 3:on 4:on 5:on 6:off psa 0:off 1:off 2:on 3:on 4:on 5:on 6:off qmail 0:off 1:off 2:on 3:on 4:on 5:on 6:off rdisc 0:off 1:off 2:off 3:off 4:off 5:off 6:off restorecond 0:off 1:off 2:off 3:off 4:off 5:off 6:off rsyslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off saslauthd 0:off 1:off 2:off 3:off 4:off 5:off 6:off spamassassin 0:off 1:off 2:on 3:on 4:on 5:on 6:off squid 0:off 1:off 2:off 3:off 4:off 5:off 6:off sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off xinetd 0:off 1:off 2:on 3:on 4:on 5:on 6:off xinetd based services: chargen-dgram: off chargen-stream: off daytime-dgram: off daytime-stream: off discard-dgram: off discard-stream: off echo-dgram: off echo-stream: off ftp_psa: on poppassd_psa: on rsync: off smtp_psa: on smtps_psa: on submission_psa: on tcpmux-server: off time-dgram: off time-stream: off
The left column contains the name of the process, to the right you have 7 columns, each one represents a Linux runlevel. Usually you will use runlevels 3,4,5. Runlevel 0 and 6 are related to shutdown (0) and reboot (6), so you should never use these.
The “on” and “off” reffer to the fact that a specific service will autostart (on) or will not autostart (off) after a reboot of the server.
The manual of chkconfig can be accesed via the command:
~ # chkconfig --help chkconfig version 1.3.49.3 - Copyright (C) 1997-2000 Red Hat, Inc. This may be freely redistributed under the terms of the GNU Public License.usage: chkconfig [--list] [--type ] [name] chkconfig --add chkconfig --del chkconfig --override chkconfig [--level ] [--type ] <on|off|reset|resetpriorities> root@nyxware~ #
To autostart a service after each reboot you would use a command like this:
chkconfig --level 345 httpd on
or just
chkconfig httpd on
To stop a process from starting after each reboot enter the command:
chkconfig httpd off
or stop it from running at a specific runlevel:
# chkconfig --level 3 httpd off root@nyxware#
Use grep to see the status of a specific service:
~ # chkconfig --list | grep ssh sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off root@nyxware ~ #
* replace httpd with your desired service name.