LLMpediaThe first transparent, open encyclopedia generated by LLMs

chkconfig

Generated by GPT-5-mini
Note: This article was automatically generated by a large language model (LLM) from purely parametric knowledge (no retrieval). It may contain inaccuracies or hallucinations. This encyclopedia is part of a research project currently under review.
Article Genealogy
Parent: RPM Hop 4
Expansion Funnel Raw 51 → Dedup 0 → NER 0 → Enqueued 0
1. Extracted51
2. After dedup0 (None)
3. After NER0 ()
4. Enqueued0 ()
chkconfig
Namechkconfig
CaptionSysV init utility
DeveloperRed Hat, Unix System Laboratories
Released1994
Operating systemLinux, Unix-like
LicenseGPL

chkconfig chkconfig is a classic SysV-style init utility commonly used on Unix-like systems to manage service start-up links and runlevel behavior. It was popularized by distributions such as Red Hat and adopted in many enterprise and embedded environments before the widespread adoption of systemd and Upstart. Administrators used chkconfig to enable or disable services across runlevels and to query service status during boot configuration tasks on servers and workstations such as those from Red Hat Enterprise Linux, CentOS, and Scientific Linux.

Overview

chkconfig originated as a convenience wrapper around the traditional System V init script symlink model, providing a standardized command-line interface for manipulating symbolic links in directories like /etc/rc.d. It integrates with distribution packaging systems such as RPM Package Manager and conventions from projects like Linux From Scratch. Historically, chkconfig simplified administration for operators managing hosts at scale in data centers run by organizations such as Sun Microsystems, IBM, and later cloud providers like Amazon Web Services where predictable boot behavior was critical. The tool influenced service-management approaches in subsequent init systems and was documented in many administration guides from vendors like Red Hat and community sites such as Gentoo.

Function and Usage

chkconfig manages whether scripts in init directories are invoked at given runlevels by creating or removing symbolic links named with sequence numbers (SNN, KNN). Typical usage patterns include enabling daemons such as sshd, httpd, and crond for multi-user runlevels used by administrators managing servers for projects like Apache Hadoop or MySQL deployments. It interacts with LSB-compliant init script headers, which may include tags inspired by the Linux Standard Base to declare default runlevels and start/stop priorities. In enterprise environments involving orchestration tools like Puppet, Ansible, and Chef, chkconfig was often called from configuration management manifests to enforce desired service states.

Configuration Files and Runlevels

The operation of chkconfig depends on init script headers embedded in scripts under directories such as /etc/init.d, which encode metadata including start/stop priorities and default runlevels. These headers reference runlevels commonly defined by distributions and historical standards—single-user maintenance modes used by Debian-derived systems differ from Red Hat conventions, while classic Unix flavors such as AIX or HP-UX used related but distinct mechanisms. Runlevel directories like /etc/rc.d/rc3.d and /etc/rc.d/rc5.d contain the SNN/KNN links that chkconfig manipulates. The configuration model overlaps with service descriptions found in packaging metadata handled by dpkg and RPM.

Commands and Options

The chkconfig command-line exposes subcommands and switches to list, add, remove, enable, disable, and query services. Common invocations include listing all managed services, querying individual scripts for their on/off status across runlevels, and using --add or --del to register or unregister scripts. Options interact with init script headers and invoke changes to filesystem links, which administrators often combine with service management commands from sysvinit or automation utilities such as systemctl in transitional environments. Scripting around chkconfig frequently references utilities like awk, sed, and grep to parse output for use in administration workflows.

Compatibility and Alternatives

While chkconfig remains present in legacy distributions, newer init systems provide alternative mechanisms: systemd uses unit files and systemctl, Upstart used job configuration, and container-focused systems rely on supervisory processes like runit or s6. Distributions migrated from chkconfig-centric management—examples include Fedora and Ubuntu—offer compatibility packages or wrapper tools to translate SysV init links into the newer management paradigms. Third-party tools and configuration-management platforms often abstract away the underlying init system differences, enabling consistent service control across environments managed by SaltStack, Puppet Labs, or Ansible.

Examples and Common Tasks

Typical tasks include enabling a service for runlevels 3 and 5, disabling a network daemon at boot, or listing default services for audit. Example workflows historically performed by sysadmins in data center operations at organizations like Yahoo! or Facebook involved scripted calls to chkconfig to enforce baseline images, combined with version control of configuration driven by Git. Migration playbooks frequently translate chkconfig enable/disable semantics into systemctl enable/disable operations when modernizing hosts.

Security and Maintenance Practices

Administrators must manage chkconfig usage within broader change-control and compliance processes overseen by teams such as ITIL operations or security groups following standards like PCI DSS or NIST guidelines. Because chkconfig manipulates boot-time behavior, improper settings can affect availability for critical services such as OpenSSH or Postfix, so audits and automated tests using continuous integration tools like Jenkins or GitLab CI are recommended during maintenance windows. When migrating away from chkconfig, ensure service unit translations preserve permissions and SELinux contexts common to Red Hat Enterprise Linux and similar distributions.

Category:System administration