debconf | |
Screenshot Size: | 250px |
Author: | Joey Hess |
Developer: | Joey Hess, Colin Watson |
Latest Release Version: | 1.5.77[1] |
Latest Preview Version: | 1.5.79[2] |
Programming Language: | Perl |
License: | BSD-2-clause |
is a software utility for performing system-wide configuration tasks on Unix-like operating systems. It is developed for the Debian Linux distribution, and is closely integrated with Debian's package management system, dpkg.
When packages are being installed, 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, or another program such as Synaptic.
The design of allows for front-ends for answering configuration questions to be added in a modular way, and there exist several, such as one for dialog, one for readline, one that uses a text editor, one for KDE, one for GNOME,[3] a Python front-end API, etc.
The original implementation of is in Perl. During the development of Debian-Installer, a new implementation in C was developed, which is named . The new implementation is currently only used in the installer, but is intended to eventually replace the original entirely. Both implementations make use of the same protocol for communication between the front-end and the client code (""); this is a simple line-based protocol similar to common Internet protocols.
does not physically configure any packages, but asks the user certain configuration questions stored in the file, under the direction of the package's maintainer scripts (etc.). Typically, the script uses to ask questions, while applies configuration changes to the unpacked package in reaction to the answers; however, this can vary due to technical requirements. The user's answers to the configuration questions asked by are cached in 's database.