chkconfig Command: Tutorial & Examples

chkconfig is a powerful command used for managing system services in Linux. It provides a straightforward method to manage which system services are started at boot time. chkconfig has five distinct functions: adding new services for management, removing services, updating a service’s runlevel information, listing the current startup information for services, and checking the startup state of a particular service.

How chkconfig Works

The chkconfig command works by managing symbolic links in the /etc/rc.d directory. These links are used by the system's init command at boot time to define the order of service startups and shutdowns. chkconfig ensures that these links are properly configured according to the directives in the service's init script and the preferences of the system administrator.

Why chkconfig is Important

The chkconfig command is crucial for managing services in a Linux server environment. It allows for easy control over which software components start up automatically when the system boots, which can be critical for troubleshooting issues, optimizing system performance, and ensuring the proper functioning of server applications.

Using the chkconfig Command

To use chkconfig, you must be logged in as the root user or have superuser privileges.

Adding a service:

chkconfig --add servicename

This will add the service to the list of services managed by chkconfig.

Removing a service:

chkconfig --del servicename

This will remove the service from chkconfig management.

Checking the status of a service:

chkconfig --list servicename

This will display the runlevel information for the service.

Setting the runlevel:

chkconfig servicename on

This will set the service to start at runlevels 2, 3, 4, and 5.

Common Pitfalls and Troubleshooting

There are a few common issues that may arise when using chkconfig. For instance, if you try to add a service that doesn’t have the correct script format in its /etc/init.d file, chkconfig will fail with an error message. You can usually resolve this by correcting the script or by using a different method to manage that particular service.

Another common issue is forgetting to run chkconfig as root or with superuser privileges. Most chkconfig commands will fail if they are not executed by the root user.


Mastering the chkconfig command is a key part of becoming proficient in Linux server administration. By understanding how to add, remove, and manage services with chkconfig, you can take control of your server's startup process and ensure that your system is configured exactly as you need it to be.

Except where otherwise noted, content on this site is licensed under a CC BY-SA 4.0 license CC BY SA