Provided by: debconf-doc_1.5.91_all 

NAME
debconf - Debian-Paket-Konfigurationssystem
BESCHREIBUNG
Debconf ist ein Konfigurationssystem für Debian-Pakete. Es gibt auch einen selten verwandten Befehl
namens debconf, der in debconf(1) dokumentiert ist.
Debconf stellt eine konsistente Schnittstelle zur Paketkonfiguration bereit und erlaubt es Ihnen, aus
mehreren Benutzerschnittstellen auszuwählen. Es unterstützt die Vorkonfiguration von Paketen vor der
Installation, womit bei großen Installationen und Upgrades alle notwendigen Informationen am Anfang
abgefragt werden können und Sie dann während der Installation selbst sich anderen Dingen widmen können.
Falls Sie in Eile sind, können Sie damit während der Paketinstallation weniger wichtige Fragen und
Informationen überspringen (und diese dann später nochmal angehen).
Pakete vorkonfigurieren
Debconf kann sogar Pakete konfigurieren, bevor Sie auf Ihrem System installiert sind. Dies ist nützlich,
weil damit alle Fragen, die die Pakete stellen werden, am Anfang der Installation gestellt werden können,
so dass der Rest der Installation ablaufen kann, während Sie eine Tasse Kaffee holen.
Falls Sie Apt (Version 0.6 oder neuer) verwenden und apt-utils ist installiert, wird jedes von Apt
installierte Paket automatisch vorkonfiguriert. Dies wird über /etc/apt/apt.conf.d/70debconf gesteuert.
Manchmal möchten Sie vielleicht ein Paket von Hand vorkonfigurieren, wenn Sie es nicht mit APT
installieren. Sie können dpkg-preconfigure (8)benutzen, um das zu machen, übergeben Sie einfach die
Dateinamen der Pakete, die Sie vorkonfigurieren wollen. Damit dies funktioniert, muss das Paket apt-utils
installiert sein.
Pakete erneut konfigurieren
Angenommen Sie haben ein Paket installiert und Debconfs Fragen beantwortet, aber nun, da Sie es eine
Weile benutzt haben, erkennen Sie, dass Sie zurückgehen und einige Ihrer Antworten ändern wollen. Früher
mussten Sie das Paket erneut installieren, wenn Sie in diese Situation gerieten. Wenn Sie aber das Paket
erneut installieren, scheint Debconf sich zu erinnern, dass Sie die Fragen beantwortet haben, und stellt
sie nicht erneut (Dies ist eine Funktionalität).
Glücklicherweise macht es Debconf einfach, jedes Paket, das es benutzt, erneut zu konfigurieren.
Angenommen, Sie wollen Debconf selbst erneut konfigurieren. Führen Sie als root einfach das Folgende aus:
dpkg-reconfigure debconf
Dies stellt alle Fragen, die Sie sahen, als Debconf das erste Mal installiert wurde. Es mag Ihnen auch
andere Fragen stellen, weil es selbst Fragen mit niedriger Priorität stellt, die übersprungen wurden, als
das Paket installiert wurde. Sie können diesen Befehl auch mit jedem anderen Paket verwenden, das Debconf
benutzt.
Benutzerschnittstellen (Frontends)
Eines von Debconfs einzigartigen Funktionalitäten ist, dass die Ihnen präsentierte Schnittstelle nur eine
von vielen ist, die nach Belieben ausgetauscht werden kann. Es gibt viele Debconf-Benutzerschnittstellen:
dialog Die vorgegeben Benutzerschnittstelle, diese benutzt die Programme whiptail(1) oder dialog(1), um
die Fragen an Sie anzuzeigen. Sie arbeitet im Textmodus.
readline
Die traditionellste Benutzerschnittstelle, diese sieht ziemlich ähnlich aus, wie Debians
Konfiguration immer war: eine Reihe von Fragen, ausgegeben auf die Konsole als reiner Texts, und
Eingabeaufforderungen, die durch die Bibliothek readline erledigt werden. Es unterstützt sogar
Vervollständigung durch die Tabulator-Taste. Das Paket libterm-readline-gnu-perl wird wärmstens
empfohlen, wenn Sie die Benutzung dieser Benutzerschnittstelle wählen; das Standard-Module für
readline ermöglicht keine Eingabeauforderung mit Vorgabewerten. Als Minimum muss das Paket
perl-modules installiert sein, um diese Benutzerschnittstelle zu benutzen.
Diese Benutzerschnittstelle hat einige Sondertasten. Bild-nach-oben (oder Ctrl-u) geht zur vorigen
Frage zurück (falls dies von dem Debconf-benutzenden Paket unterstützt) und Bild-nach-unten (oder
Ctrl-v) springt weiter zur nächsten Frage.
Dies ist die beste Benutzerschnittstelle für Administrationsarbeit aus der Ferne über eine
langsame Verbindung oder für alle, die mit Unix vertraut sind.
noninteractive
Dies ist die Anti-Benutzerschnittstelle. Sie tritt nie mit Ihnen in Kontakt, und lässt für alle
Fragen die vorgegebenen Antworten benutzen. Sie mag Fehlermeldungen an root mailen, aber das war
es; ansonsten ist sie komplett still und unaufdringlich, eine perfekte Schnittstelle für
automatische Installationen. Falls Sie diese Benutzerschnittstelle benutzen und nicht-vorgegebene
Antworten auf Fragen benötigen, müssen Sie die Debconf-Datenbank mit Voreinstellungen versehen;
für weitere Details siehe unten den Abschnitt »Unbeaufsichtigte Paket-Installation«.
gnome Dies ist eine modern X-GUI, die die GTK und GNOME-Bibliotheken benutzt. Natürlich benötigtes es
zum Funktionieren ein gültiges DISPLAY; Debconf greift auf andere Benutzerschnittstellen zurück,
falls sie nicht funktionieren kann. Beachten Sie, dass diese Benutzerschnittstelle die
Installation des Pakets libgtk3-perl erfordert.
kde Diese Benutzerschnittstelle stellt eine moderne X-Benutzerschnittstelle auf der KDE-Plattform
bereit. Sie benötigen natürlich ein DISPLAY, um diese Oberfläche zu benutzen und müssen das
Hilfspaket debconf-kde-helper installieren. Die Schnittstelle fällt auf Dialog zurück, falls
einige der Voraussetzungen nicht zutreffen.
editor Dies ist für diese Fanatiker, die alles mit einem Texteditor erledigen müssen. Es ruft Ihren
Editor mit einer Datei auf, die ein wenig wie eine typische Unix-Konfigurationsdatei aussieht, und
Sie editieren die Datei, um mit Debconf zu kommunizieren. Der Autor von Debconf zieht es vor,
nicht die Umstände zu kommentieren, die dazu geführt haben, dass diese Benutzerschnittstelle
geschrieben wurde.
web
Diese Benutzerschnittstelle fungiert als Webserver, mit dem Sie sich mit Ihrem Web-Browser
verbinden, um die Fragen zu sehen und sie zu beantworten. Sie ist vielversprechend, aber soweit
ein wenig roh. Wenn diese Schnittstelle startet, gibt es die Adresse, die Sie mit Ihrem
Web-Browser anzeigen sollten. Der Web-Browser muss aus Sicherheitsgründen auf der selben Maschine
laufen, die Sie konfigurieren.
Behalten Sie im Kopf, dass diese Benutzerschnittstelle nicht sehr sicher ist. Jeder, der auf den
zu konfigurierenden Rechner Zugriff hat, kann derzeit auf den den Web-Server zugreifen und Dinge
konfigurieren, während diese Schnittstelle läuft. Also ist dies mehr eine Konzeptstudie als alles
andere.
Sie können die standardmäßige Benutzerschnittstelle, die Debconf benutzt, ändern, indem Sie Debconf
erneut konfigurieren. Falls Sie andererseits die Benutzerschnittstelle nur für kurze Zeit ändern wollen,
können Sie die Umgebungsvariable DEBIAN_FRONTEND auf den Namen der zu benutzenden Benutzerschnittstelle
setzen. Zum Beispiel:
DEBIAN_FRONTEND=readline apt-get install slrn
Die Befehle dpkg-reconfigure(8) und dpkg-preconfigure(8) lassen sich auch --frontend übergeben, gefolgt
von der Benutzerschnittstelle, die Sie benutzen sollen.
Beachten Sie, dass nicht alle Benutzerschnittstellen unter allen Umständen funktionieren. Falls eine
Benutzerschnittstelle aus irgendwelchen Gründen scheitert, gibt Debconf eine Meldung aus, warum, und
greift auf die ähnlichste Benutzerschnittstelle zurück.
Prioritäten
Ein weitere nette Funktionalität von Debconf ist, dass die Fragen, die es Ihnen stellt, priorisiert sind.
Falls Sie nicht mit jeder kleinen Sache belästigt werden wollen, können Sie Debconf so einstellen, dass
es Ihnen nur die wichtigsten Fragen stellt. Falls Sie auf der anderen Seite ein Kontroll-Freak sind,
können Sie es Ihnen alle Fragen zeigen lassen. Jede Frage hat eine Priorität. In nach Wichtigkeit
aufsteigender Folge:
niedrig (low)
Sehr triviale Fragen, die Voreinstellungen haben, die in den allermeisten Fällen funktionieren.
medium Normale Fragen, die vernünftige Voreinstellungen haben.
hoch (high)
Fragen, die keine vernünftige Voreinstellung haben.
kritisch (critical)
Fragen, die Sie wirklich, wirklich sehen müssen (ansonsten ...).
Nur Fragen mit einer Priorität gleich oder größer der Priorität, die Sie wählen, werden Ihnen gezeigt.
Sie können den Prioritätswert setzen, indem Sie Debconf erneut konfigurieren, oder temporär, indem Sie
--priority gefolgt von dem Wert an die Befehle dpkg-reconfigure(8) und dpkg-preconfigure(8) übergeben
oder durch Setzen der Umgebungsvariablen DEBIAN_PRIORITY.
Datenbanken-Backend
Debconf benutzt ein ziemlich flexibles und potenziell kompliziertes Datenbanken-Backend, um solche Daten
wie die Antworten auf Fragen zu speichern. Die Datei /etc/debconf.conf wird benutzt, um diese Datenbank
zu konfigurieren. Falls Sie etwas Kompliziertes aufsetzen müssen, etwa Debconf eine entfernte Datenbank
für Voreinstellungen mit lokalen Aufhebungen lesen zu lassen, schauen Sie sich die Handbuchseite
debconf.conf(5) für alle Details an. Generell befindet sich das Datenbanken-Backend unter
/var/cache/debconf/.
Unbeaufsichtigte Paket-Installation
Falls Sie viele Maschinen verwalten müssen, finden Sie sich manchmal in der Situation, eine
unbeaufsichtigte Installation oder Aktualisierung von Paketen auf vielen Systemen vornehmen zu müssen,
bei der die vorgegebenen Antworten auf manche Konfigurationsfragen nicht akzeptabel sind. Es gibt viele
Wege, dies zu erreichen; alle schließen ein, eine Datenbank aufzusetzen und sie Debconf benutzen lassen,
um die Antworten zu bekommen, die Sie wollen.
Sie sollten vor diesem Abschnitt wirklich debconf.conf(5) lesen, weil Sie verstehen müssen, wie Debconfs
Datenbanken funktionieren.
Der einfachste Weg, um die Datenbank aufzusetzen, ist es, die Pakete auf einer Maschine zu installieren
und ihre Fragen wie üblich zu beantworten. Oder Sie könnten einfach dpkg-preconfigure(8) benutzen, um
eine Reihe von Paketen zu konfigurieren, ohne sie tatsächlich zu installieren. Oder Sie mögen sich sogar
dazu entscheiden, eine Klartext-Debconf-Datenbank von Hand zu schreiben, oder soetwas.
Sobald Sie die Datenbank haben, müssen Sie herausfinden, wie Sie die Systeme in der Ferne dazu bekommen,
sie zu benutzen. Dies hängt selbstverständlich von der Konfiguration dieser Systeme ab und davon, für die
Benutzung welcher Datenbanken-Typen sie aufgesetzt sind.
Falls Sie die LDAP-Debconf-Datenbank benutzen, kann ein gesamtes Netzwerk von Debian-Maschinen einige
oder alle Fragen zur Paket-Installation automatisch von einem einzelnen LDAP-Server beantwortet bekommen.
Aber vielleicht benutzen Sie etwas, das ein wenig leichter aufzusetzen ist, wie, sagen wir, die
standardmäßige Debconf-Datenbanken-Konfiguration oder Sie wollen einfach nicht, dass Ihre System in der
Ferne LDAP die ganze Zeit benutzen. In diesem Falle ist der beste Ansatz, die Systeme in der Ferne
temporär so zu konfigurieren, dass sie Ihre Datenbank unter ihre eigenen existierenden Datenbanken
stapeln, so dass sie vorgegebene Werte aus ihr herausziehen können. Debconf bietet zwei
Umgebungvariablen, DEBCONF_DB_FALLBACK und DEBCONF_DB_OVERRIDE, um es einfach zu machen, dies im
Vorbeigehen zu tun. Hier ist eine Beispielanwendung:
cat /var/cache/debconf/config.dat | \
ssh root@target "DEBIAN_FRONTEND=noninteractive \
DEBCONF_DB_FALLBACK=Pipe apt-get upgrade"
Dies lässt das Debconf auf dem Rechner in der Ferne die Daten, die über die SSH-Verbindung transferiert
werden, einlesen und als eine Debconf-Datenbank im Klartextformat interpretieren. Dann benutzt es diese
Datenbank als Rückgriffsdatenbank -- eine nur-lesende Datenbank, die nach Antworten zu Fragen abgefragt
wird, falls die Haupt-Debconf-Datenbank des Systems keine Antworten bietet.
Noch ein Weg, die Umgebungsvariable DEBCONF_DB_FALLBACK zu benutzen:
ssh -R 389:ldap:389 root@target \
"DEBCONF_DB_FALLBACK='LDAP{host:localhost}' apt-get upgrade"
Hier wird SSH benutzt, um eine getunnelte LDAP-Verbindung aufzusetzen und Debconf auszuführen. Debconf
soll den LDAP-Server als Rückgriffs-Datenbank benutzen. Beachten Sie die Benutzung von
»{host:localhost}«, um zu konfigurieren, wie Debconf auf die LDAP-Datenbank zugreift, indem das Feld
»host« mit dem Wert »localhost« geliefert wird.
Noch eine Methode:
scp config.dat root@target:
ssh root@target "DEBCONF_DB_FALLBACK='File{/root/config.dat}' apt-get upgrade
Hier kopieren Sie die Datenbank mit scp hinüber, und dann öffnen Sie SSH und lassen Debconf die
hinüber-kopierte Datei benutzen. Dies illustriert einen Abkürzung, die Sie bei den Parametern für
DEBCONF_DB_FALLBACK benutzen können -- falls der Feldname ausgelassen wird, wird »filename« angenommen.
Es gibt nur ein Problem mit diesen Anwendungen des Parameters DEBCONF_DB_FALLBACK: Während die
Rückgriffsdatenbank Antworten auf Fragen liefern kann, die die anderen Datenbanken noch nicht gesehen
haben, wird sie nur als Rückgriff abgefragt; nach den anderen Datenbanken. Falls Sie stattdessen auf dem
entfernten Rechner einen bestehenden Wert temporär außer Kraft setzen müssen, sollten Sie stattdessen die
Variable DEBCONF_DB_OVERRIDE benutzen. Wie DEBCONF_DB_FALLBACK setzt sie eine temporäre Datenbank auf,
aber diese Datenbank wird vor allen anderen befragt, und kann benutzt werden, um bestehende Werte außer
Kraft zu setzen.
Entwickeln für Debconf
Paket-Entwickler und andere, die Pakete entwickeln wollen, die Debconf benutzen, sollten debconf-devel(7)
lesen.
Kurz gesagt kommuniziert Debconf mit Maintainer-Skripten oder anderen Programmen über die Standardein-
und -ausgabe, unter Benutzung einer einfachen Befehlssprache ähnlich denen, wie sie von gängigen
Internet-Protokollen wie SMTP benutzt werden. Programme benutzen dieses Protokoll, um Debconf zu bitten,
Fragen an den Benutzer zu stellen und die Antworten des Benutzers einzuholen. Die Fragen selbst sind in
einer eigenen Datei, »Vorlagendatei« genannt, definiert, die ein Format ähnlich einer
Debian-Control-Datei hat.
Debian-Pakete, die Debconf benutzen, liefern typischerweise eine Vorlagendatei »templates« und ein Skript
»config« (welches ausgeführt wird, um das Paket vorzukonfigurieren) in dem Abschnitt für die
Kontroll-Metadaten des Pakets aus.
UMGEBUNG
DEBIAN_FRONTEND
Wird benutzt, um temporär die Benutzerschnittstelle zu ändern, die Debconf benutzt. Siehe oben.
DEBCONF_PRIORITY
Wird benutzt, um temporär die Schwell-Priorität der von Debconf angezeigten Fragen zu ändern.
Siehe oben.
DEBCONF_DEBUG
Schaltet Ausgaben zur Fehlersuche auf der Standardfehlerausgabe ein. Kann auf den Namen einer
Gruppe oder einen regulären Ausdruck, der mit den Namen von Gruppen übereinstimmt, gesetzt werden
(beispielsweise ».*« um alle Fehlersuchinformationen auszugeben). Die Gruppennamen sind:
user Informationen zur Fehlersuche, die für einen Debconf-Benutzer von Interesse sind.
developer
Informationen zur Fehlersuche, die für einen Paket-Entwickler von Interesse sind.
db Informationen zur Fehlersuche über die Backend-Datenbank.
DEBCONF_NOWARNINGS
Setzen Sie dies auf »yes«, um einige Warnungen zu deaktivieren, die Debconf anzeigen könnte.
Unterdrückt keine fatalen Fehler.
DEBCONF_TERSE
Setzen Sie dies auf »yes«, um den knappen Modus zu aktivieren, in dem Debconfs
Benutzerschnittstellen den Wortreichtum so weit wie möglich einschränken.
DEBCONF_DB_FALLBACK
Stapel eine Datenbank nach den normalerweise benutzten Datenbanken, so dass sie als ein Rückgriff
benutzt wird, um Konfigurationsinformationen zu beziehen. Siehe oben »Unbeaufsichtigte
Paket-Installation«. Falls der Wert der Variablen ein Name einer existierenden Datenbank in
debconf.conf ist wird diese Datenbank benutzt. Ansonsten kann die Umgebungsvariable benutzt
werden, um eine Datenbank im Vorbeigehen (»on the fly«) zu konfigurieren, indem der Typ der
Datenbank genannt und optional Feld:Wert-Einstellungen in geschwungenen Klammern nach dem Typ
übergeben werden. Leerzeichen werden benutzt, um Felder zu trennen, also können Sie keinen
Feldwert angeben, der Leerrzeichen enthält.
Dieses benutzt also die Datenbank fallbackdb in debconf.conf:
DEBCONF_DB_FALLBACK=fallbackdb
Während dies eine neue Datenbank vom Typ »File« aufsetzt und ihr den zu benutzenden Dateinamen und die
Anweisung, das Erstellen von Sicherheitskopien zu deaktivieren, übergibt:
DEBCONF_DB_FALLBACK=File{Filename:/root/config.dat Backup:no}
Und als Kurzform setzt dies eine Datenbank vom Typ »File« mit einem Dateinamen auf:
DEBCONF_DB_FALLBACK=File{/root/config.dat}
Beachten Sie, dass eine Rückgriffsdatenbank, falls sie im Vorbeigehen aufgesetzt wird, standardmäßig
nur-lesend ist.
DEBCONF_DB_OVERRIDE
Stapelt eine Datenbank vor die normalerweise benutzten Datenbanken, so dass sie Werte aus ihnen
überstimmen kann. Der Wert dieser Variablen funktioniert auf dieselbe Weise wie der Wert von
DEBCONF_DB_FALLBACK.
DEBCONF_DB_REPLACE
Benutze eine gegebene Datenbank anstelle der normalerweise benutzten Datenbanken. Dies kann
nützlich sein, um mit einer separaten Datenbank zu testen, ohne dafür eine eigene debconf.conf zu
erstellen, oder um das Sperren der normalen Datenbanken zu vermeiden.
DEBCONF_SYSTEMRC
Falls diese Umgebungsvariable gesetzt ist, ignoriert Debconf die Datei ~/.debconfrc des Benutzer,
und benutzt stattdessen die systemweite debconf.conf. Falls diese auf den Namen einer regulären
Datei gesetzt ist, zieht Debconf diese Datei der systemweiten Konfigurationsdatei vor.
DEBCONF_FORCE_DIALOG
Falls diese Umgebungsvariable gesetzt ist, bevorzugt Debconf dialog gegenüber whiptail für die
Benutzerschnittstelle Dialog.
DEBCONF_FORCE_XDIALOG
Falls diese Umgebungsvariable gesetzt ist, bevorzugt Debconf Xdialog vor whiptail für die
Benutzerschnittstelle Dialog.
DEBCONF_NONINTERACTIVE_SEEN
Setzen Sie diese auf »true«, damit die Markierung gesehen (»seen«) für Fragen, die in der
nicht-interaktiven (»noninteractive«) Schnittstelle gestellt werden, gesetzt wird.
FEHLER
möglicherweise einige, es gibt hier eine Menge an Kode.
Falls Sie einen Fehlerbericht einreichen (auf Englisch!), stellen Sie sicher, dass Sie die folgenden
Informationen einbeziehen:
* Die Debconf-Benutzerschnittstelle, die Sie benutzten, als der Fehler auftrat.
* Was Sie taten, um das Problem auszulösen.
* Den vollständigen Text jeder Fehlermeldung. Falls Sie den Fehler reproduzieren können, tun Sie
dies mit auf gesetztem und exportiertem DEBCONF_DEBUG='.*'.Dies beschleunigt die Fehlersuche sehr.
ÜBERSETZUNG
Die deutsche Übersetzung wurde 2008 von Florian Rehnisch <eixman@gmx.de> und 2008-2009, 2012 von Helge
Kreutzmann <debian@helgefjell.de> angefertigt. Diese Übersetzung ist Freie Dokumentation; lesen Sie die
GNU General Public License Version 2 oder neuer für die Kopierbedingungen. Es gibt KEINE HAFTUNG.
SIEHE AUCH
debconf.conf(5), debconf-devel(7), dpkg-preconfigure(8), dpkg-reconfigure(8), debconf(1),
AUTOR
Joey Hess <joeyh@debian.org>
DEBCONF(7)