debconf is a software utility for performing system-wide configuration tasks on Unix-like operating systems. It is developed for the Debian GNU/Linux distribution, and is closely integrated with Debian's package management system, dpkg.
When packages are being installed, debconf asks the user questions which determine the contents of the system-wide configuration files associated with that package. After package installation, it is possible to go back and change the configuration of a package by using the dpkg-reconfigure
program.
The design of debconf allows for front-ends for answering configuration questions to be added in a modular way, and there exist several, such as one for the terminal, one for KDE, one for GNOME, etc.
The original implementation of debconf is in Perl. During the development of debian-installer (the new installer used for Sarge), a new implementation in C was developed, which is named cdebconf. The new implementation is currently only used in the installer, but is intended to eventually replace the original entirely.