LinuxCommandLibrary

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)

Copied to clipboard