debconf
Configure Debian package settings during installation
SYNOPSIS
debconf [options] command [args]
PARAMETERS
-f frontend, --frontend=frontend
Select frontend: dialog (ncurses), readline (text), gnome, kde, pasv, noninteractive, tee (default: DEBCONF_FRONTEND or dialog).
-p priority, --priority=priority
Minimum priority: low, medium (default), high, critical.
-v, --verbose
Log commands to stdout and /var/log/debconf/.
-d, --debug
Maximum debug logging.
--log-file=file
Log frontend actions to file.
--log-fd=fd
Log to file descriptor fd.
--owner=owner
Set owner for question (usually package name).
--timeout=seconds
Timeout for user input.
--terse
Suppress version banner.
--noop
Parse/execute commands without side effects.
DESCRIPTION
Debconf is the standard configuration system for Debian and derivatives, managing user interactions during package installation, upgrades, and removal. The debconf command acts as a frontend runner and database interface, primarily invoked from package maintainer scripts (e.g., DEBIAN/postinst).
It uses a central database storing templates (questions) and responses. Templates define question text, types (boolean, string, select, etc.), and priorities (low, medium, high, critical). Scripts communicate via commands like db_input, db_go, db_get, db_set, often through pipes with debconf-communicate(1).
Frontends render questions: dialog (ncurses), readline (text), pasv (passive), noninteractive (defaults/preseeds for automation). This enables consistent, reproducible configs across installs, supporting preseeding for unattended setups.
Users rarely run debconf directly; tools like dpkg-reconfigure are common. It's Perl-based, extensible via modules.
CAVEATS
Intended for maintainer scripts; direct user use uncommon and may require root. Noninteractive mode ignores input, using preseeds/defaults. Errors if database locked or frontend unavailable.
COMMON COMMANDS
register template: Register template.
unregister template: Unregister.
input priority owner question: Queue question.
go: Display queued questions.
get owner/question: Retrieve value.
set owner/question value: Set value.
TEMPLATE TYPES
boolean, string, password, select, multiselect, note, error.
HISTORY
Created by Joey Hess in 2000 for Debian 2.2 (Potato) to replace ad-hoc config methods. Evolved with Perl modules, frontends; now core to APT/dpkg ecosystem.
SEE ALSO
debconf-set-selections(1), debconf-get-selections(1), debconf-communicate(1), debconf-show(1), dpkg-reconfigure(8), dpkg(8)


