![]() Reconfigure tzdata package using debconf (1.5.38) on Debian Linux 6.0 (squeeze/unstable). | |
Original author(s) | Joey Hess |
---|---|
Developer(s) | Joey Hess, Colin Watson |
Stable release | 1.5.89[1] ![]() |
Repository | |
Written in | Perl |
Operating system | Unix-like operating system |
License | 2-clause BSD License[2] |
Website | wiki![]() |
debconf is a software utility for performing system-wide configuration tasks onUnix-like operating systems. It is developed for theDebianLinux distribution, and is closely integrated with Debian's package management system,dpkg.
Whenpackages 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 thedpkg-reconfigure
program, or another program such asSynaptic.
The design of debconf allows forfront-ends for answering configuration questions to be added in a modular way, and there exist several, such as one fordialog, one forreadline, one that uses atext editor, one forKDE, one forGNOME,[3] aPython front-endAPI, etc.
The original implementation of debconf is inPerl. During the development ofDebian-Installer, a new implementation inC was developed, which is namedcdebconf. 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 debconf front-end and the client code ("confmodule"); this is a simple line-based protocol similar to commonInternet protocols.
Debconf does not physically configure any packages, but asks the user certain configuration questions stored in the .templates file, under the direction of the package's maintainer scripts (.config, .postinst, etc.). Typically, the .config script uses debconf to ask questions, while .postinst 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 debconf are cached in debconf's database.