NAME
debconf.conf - Konfigurations-Datei für DebconfBESCHREIBUNG
Debconf ist ein Konfigurationssystem für Debian-Pakete. /etc/debconf.conf und ~/.debconfrc sind Konfigurationsdateien, die Debconf benutzt, um herauszufinden, welche Datenbanken es benutzen soll. Diese Datenbanken werden für das Speichern von zwei Arten von Informationen benutzt; dynamische Konfigurationsdaten, die der Benutzer eingibt, und statische Vorlagendaten. Debconf bietet ein flexibles, erweiterbares Datenbanken-Backend. Neue Treiber können mit minimalem Aufwand erzeugt werden, und Treiber-Sätze können auf verschiedene Weise kombiniert werden.ÜBERSICHT
# Dies ist eine einfache Konfigurationsdatei,
# die ausreichend ist, um Debconf zu benutzen
Config: configdb
Templates: templatedb
Name: configdb
Driver: File
Filename: /var/cache/debconf/config.dat
Name: templatedb
Driver: File
Mode: 644
Filename: /var/cache/debconf/templates.dat
DATEIFORMAT
Das Format dieser Datei ist eine Folge von Absätzen, jeweils getrennt durch mindestens eine vollständig leere Zeile. Kommentarzeilen, die mit dem Zeichen »#« beginnen, werden ignoriert. Der erste Absatz der Datei ist besonders, er wird benutzt, um Debconf im Ganzen zu konfigurieren. Zwei Felder sind in diesem ersten Absatz erforderlich:- Config
- Gibt den Namen der Datenbank an, aus der die Konfigurationsdaten geladen werden.
- Templates
- Gibt den Namen der Datenbank an, die für das Zwischenspeichern von Vorlagen zu benutzen ist.
- Frontend
- Die Benutzerschnittstelle, die Debconf benutzen soll, dies überstimmt jede Schnittstellen-Einstellung in der Debconf-Datenbank.
- Priority
- Die Priorität, die Debconf benutzen soll, dies überstimmt jede Prioritätseinstellung in der Debconf-Datenbank.
- Admin-Email
- Die E-Mail-Adressen, an die Debconf E-Mail schicken soll, falls sichergestellt werden muss, dass der Administrator eine wichtige Nachricht gesehen hat. Standardmäßig »root«, dies kann auf jede gültige E-Mail-Adresse gesetzt werden, um die E-Mail dorthin zu schicken. Dies kann im Vorbeigehen durch die Umgebungsvariable DEBCONF_ADMIN_EMAIL überstimmt werden.
- Debug
- Falls gesetzt, lässt dies Debconf Informationen zur Fehlersuche auf die Standardfehlerausgabe ausgeben. Der Wert, auf den dies gesetzt wird, kann so etwas wie »user«, »developer«, »db« oder ein regulärer Ausdruck sein. Typischerweise, statt es permanent in einer Konfigurationsdatei zu setzen, wollen Sie die Fehlersuche nur zeitweise anstellen, und die Umgebungsvariable DEBCONF_DEBUG kann stattdessen gesetzt werden, um dies zu bewerkstelligen.
- NoWarnings
- Falls gesetzt, lässt dies Debconf Warnungen über verschiedene Dinge nicht anzeigen. Dies kann im Vorbeigehen durch die Umgebungsvariable DEBCONF_NOWARNINGS überstimmt werden.
- Log
- Lässt Debconf, während es läuft, Informationen zur Fehlersuche in das Syslog schreiben. Der Wert, auf den dies gesetzt wird, kontrolliert, was protokolliert wird. Siehe oben »Debug« für eine Erklärung der Werte, die gesetzt werden können, um zu kontrollieren, was protokolliert wird.
- Terse
- Falls auf »true« gesetzt, lässt dies einige Debconf-Benutzerschnittstellen einen besonders knappen Anzeigemodus benutzen, der so wenig wie möglich ausgibt. Der knappe Modus kann temporär über die Umgebungsvariable DEBCONF_TERSE gesetzt werden.
Config: configdb
Templates: templatedb Jeder verbleibende Absatz in der Datei richtet eine Datenbank ein. Ein Datenbankenabschnitt beginnt mit der Benennung der Datenbank:
Name: configdb Dann wird angezeigt, welcher Datenbank-Treiber für diese Datenbank benutzt werden soll. Siehe unten TREIBER für Informationen, welche Treiber verfügbar sind.
Driver: File Sie können angeben, dass die Datenbank nicht essenziell für die ordnungsgemäße Funktionsweise von Debconf ist, indem Sie sagen, dass sie nicht erforderlich ist. Dies lässt Debconf fortfahren, falls die Datenbank aus irgendeinem Grund scheitert.
Required: false Sie können jede Datenbank als nur-lesend markieren, und Debconf schreibt nichts hinein.
Readonly: true Sie können mit Accept- und Reject-Zeilen auch begrenzen, welche Arten von Daten in die Datenbank gelangen können; siehe unten ZUGRIFFSKONTROLLE. Der Rest jedes Datenbanken-Absatz wird benutzt, um Konfiguration speziell zu diesem Treiber bereitzustellen. Zum Beispiel muss der Treiber Text ein Verzeichnis wissen, in das er die Datenbank packt, so dass Sie sagen könnten:
Filename: /var/cache/debconf/config.dat
TREIBER
Eine Reihe von Treibern sind verfügbar, und mehr noch können mit wenig Schwierigkeit geschrieben werden. Treiber gibt es in zwei generellen Typen. Zuerst gibt es echte Treiber -- Treiber die tatsächlich auf Daten in irgendeiner Form von Datenbank zugreifen und speichern, welche im lokalen Dateisystem oder auf einem entfernten System sein können. Dann gibt es Meta-Treiber, die andere Treiber kombinieren, um interessantere Systeme zu formen. Lassen Sie uns mit ersteren beginnen.- File
Dieser Datenbank-Treiber erlaubt Debconf, eine
vollständige Datenbank in einer einzelnen flachen Textdatei zu
speichern. Dies erlaubt einfaches Archivieren, Transferieren zwischen
Maschinen und Editieren. Es ist eines der kompakteren Datenbank-Formate
hinsichtlich des benutzten Plattenplatz. Es ist auch eins der langsamsten.
Als Nachteil muss die gesamte Datei eingelesen werden, jedes Mal, wenn Debconf
startet, und Speichern ist ebenfalls langsam.
Die folgenden Dinge sind für diesen Treiber konfigurierbar:
Ein Beispiel-Absatz, der eine Datenbank unter Benutzung dieses Treiber
einrichtet:
Name: mydb
Driver: File
Filename: /var/cache/debconf/mydb.dat
- Filename
- Die Datei, die als Datenbank benutzt werden soll. Dies ist ein erforderliches Feld.
- Mode
- Die Berechtigungen, mit denen die Datei erzeugt wird, falls sie nicht existiert. Standardmäßig 600, weil die Datei unter Umständen Passwörter enthalten könnte.
- Format
- Das Format der Datei. Siehe unten FORMATE. Standardmäßig wird ein RFC-822-ähnliches Format benutzt.
- Backup
- Ob von der alten Datei eine Sicherheitskopie gemacht werden soll, bevor sie verändert wird. Standardmäßig »true«.
Name: mydb
Driver: File
Filename: /var/cache/debconf/mydb.dat
- DirTree
Dieser Datenbank-Treiber erlaubt Debconf,
Daten in einer hierarchischen Verzeichnisstruktur zu speichern. Die Namen der
verschiedenen Debconf-Vorlagen und -Fragen werden benutzt, wie sie sind, um
Verzeichnisse mit Dateien darin zu formen. Dieses Datenbanken-Format ist das
einfachste, wenn es darum geht, von Hand zu stöbern und zu tricksen. Es
hat sehr gute Lade- und Speicher-Geschwindigkeiten. Es beansprucht
typischerweise auch den meisten Platz, weil viele kleine Dateien und
Unterverzeichnis zusätzlichen Raum nehmen.
Die folgenden Dinge sind für diesen Treiber konfigurierbar:
Ein Beispiel-Absatz, der eine Datenbank unter Benutzung dieses Treiber
einrichtet:
Name: mydb
Driver: DirTree
Directory: /var/cache/debconf/mydb
Extension: .txt
- Directory
- Das Verzeichnis, in das die Dateien gelegt werden. Erforderlich.
- Extension
- Eine Erweiterung, die den Namen von Dateien hinzugefügt werden. Muss auf eine nicht-leere Zeichenkette gesetzt werden; standardmäßig ».dat«
- Format
- Das Format der Datei. Siehe unten FORMATE. Standardmäßig wird ein RFC-822-ähnliches Format benutzt.
- Backup
- Ob von der alten Datei eine Sicherheitskopie gemacht werden soll, bevor sie verändert wird. Standardmäßig »true«.
Name: mydb
Driver: DirTree
Directory: /var/cache/debconf/mydb
Extension: .txt
- PackageDir
Dieser Datenbank-Treiber ist ein Kompromiss
zwischen den Datenbanken »File« und »DirTree«. Er
benutzt ein Verzeichnis, in dem es (ungefähr) eine Datei pro Paket, das
Debconf benutzt, gibt. Dies ist ziemlich schnell, während es wenig mehr
Platz als der Datenbank-Treiber »File« benutzt.
Dieser Treiber ist auf dieselbe Weise wie der Treiber DirTree konfigurierbar,
und zusätzlich:
Name: mydb
Driver: PackageDir
Directory: /var/cache/debconf/mydb
- Mode
- Die Berechtigungen, mit denen Dateien erzeugt werden. Standardmäßig 600, da die Dateien unter Umständen Passwörter enthalten könnten.
Name: mydb
Driver: PackageDir
Directory: /var/cache/debconf/mydb
- LDAP
WARNUNG: Dieser Datenbank-Treiber ist
gegenwärtig experimentell. Mit Vorsicht zu benutzen.
Dieser Datenbank-Treiber greift für Debconf-Konfigurationsdaten auf ein
LDAP-Verzeichnis zu. Wegen ihrer vertrackten Natur sollte auf
LDAP-Verzeichnisse typischerweise im Nur-Lese-Modus zugegriffen werden. Dies
ist notwendig, weil mehrere gleichzeitige Zugriffe stattfinden können,
und es ist generell besser für die Daten-Konsistenz, dass niemand
versucht, die Daten zu verändern, während der Zugriff erfolgt.
Selbstverständlich wird Schreibzugriff unterstützt, in den
Fällen, in denen Sie die Konfigurationsdaten in dem Verzeichnis
aktualisieren wollen.
Für Informationen über das Einrichten eines LDAP-Server für
Debconf lesen Sie /usr/share/doc/debconf-doc/README.LDAP (im Paket
debconf-doc)
Um diesen Datenbank-Treiber zu benutzen, müssen Sie das Paket
libnet-ldap-perl installieren. Debconf schlägt dieses Paket vor,
hängt aber nicht von ihm ab.
Bitte erwägen Sie sorgfältig die Sicherheits-Auswirkungen, die die
Verwendung einer entfernten Debconf-Datenbank mit sich bringt. Solange Sie
nicht der Quelle und dem zwischengelegenen Netzwerk vertrauen, ist dies keine
sichere Sache.
Die folgenden Dinge sind für diesen Treiber konfigurierbar:
Ein Beispiel-Absatz, der eine Datenbank einrichtet, die diesen Treiber benutzt,
unter Annahme, dass die entfernte Datenbank auf example.com ist und anonym
zugegriffen werden kann:
Name: ldapdb
Driver: LDAP
Readonly: true
Server: example.com
BaseDN: cn=debconf,dc=example,dc=com
KeyByKey: 0 Noch ein Beispiel, diesmal ist die LDAP-Datenbank auf localhost, und kann beschrieben werden:
Name: ldapdb
Driver: LDAP
Server: localhost
BaseDN: cn=debconf,dc=domain,dc=com
BindPasswd: secret
KeyByKey: 1
- server
- Hostname oder IP-Adresse des LDAP-Servers, mit dem verbunden werden soll.
- port
- Der Port, auf dem mit dem LDAP-Server verbunden werden soll. Falls nicht angegeben, wird der standardmäßige Port benutzt.
- basedn
- Die DN, unter der alle Konfigurationselemente gespeichert werden. Von jedem Konfigurationselement wird angenommen, dass es in einer DN cn=<item name>,<Base DN> existiert. Falls dieser Struktur nicht gefolgt wird, wird für nichts garantiert.
- binddn
- Die DN, als die das Verzeichnis zu binden ist. Anonyme Bindung wird benutzt, falls keine angegeben wird.
- bindpasswd
- Das bei einer authentifizierten Bindung zu benutzende Passwort (benutzt mit binddn oben). Falls nicht angegeben, wird anonyme Bindung benutzt.
Diese Option sollte nicht im generellen Falle
benutzt werden. Anonyme Bindung sollte die meiste Zeit für
Nur-Lese-Zugriff ausreichend sein. Bindungs-DN und -Password sollte für
den gelegentlichen Fall reserviert werden, in dem Sie die
Debconf-Konfigurationsdaten aktualisieren wollen.
- keybykey
- Aktiviere Zugriff auf individuelle LDAP-Einträge, anstatt sie am Anfang alle auf einmal zu holen. Dies ist sehr nützlich, falls Sie die Abfrage bestimmter Debconf-Schlüssel in Ihren LDAP-Protokollen überwachen wollen. Auf diese Weise könnten Sie auch eigenen Behandlungscode auf der Seite des LDAP-Servers schreiben.
Beachten Sie, dass, wenn diese Option gesetzt
ist, die Verbindung zum LDAP-Server während des gesamten Debconf-Laufs
aktiv gehalten wird. Dies ist ein wenig verschieden zu dem
Alles-in-Einem-Verhalten, wo zwei kurze LDAP-Verbindungen erfolgen; am Anfang,
um alle Einträge zu holen, und am Ende, um mögliche
Änderungen zu speichern.
Name: ldapdb
Driver: LDAP
Readonly: true
Server: example.com
BaseDN: cn=debconf,dc=example,dc=com
KeyByKey: 0 Noch ein Beispiel, diesmal ist die LDAP-Datenbank auf localhost, und kann beschrieben werden:
Name: ldapdb
Driver: LDAP
Server: localhost
BaseDN: cn=debconf,dc=domain,dc=com
BindPasswd: secret
KeyByKey: 1
- Pipe
Dieser Datenbankentreiber für besondere
Anlässe liest und schreibt die Datenbank von der Standardein/-ausgabe.
Er mag für Leute mit besonderen Bedürfnissen nützlich
sein.
Die folgenden Dinge sind für diesen Treiber konfigurierbar:
Das sind alle echten Treiber, lassen Sie uns nun zu den Meta-Treibern gehen.
- Format
- Das zu lesende und zu schreibende Format. Siehe unten FORMATE. Standardmäßig ein RFC-822-ähnliches Format.
- Infd
- Nummer des Dateideskriptors von dem gelesen werden soll. Liest standardmäßig von Stdin. Falls auf »none« gesetzt, liest die Datenbank beim Starten keine Daten.
- Outfd
- Nummer des Dateideskriptors auf den geschrieben werden soll. Schreibt standardmäßig auf Stdout. Falls auf »none« gesetzt, wird die Datenbank beim Schließen verworfen.
- Stack
Dieser Treiber stapelt eine Anzahl anderer
Datenbanken (jeglichen Typs), und erlaubt, auf sie zuzugreifen, als ob sie
eine einzige wären. Wenn Debconf einen Wert anfragt, gibt die erste
Datenbank in dem Stapel, die den Wert enthält, ihn zurück. Falls
Debconf etwas in die Datenbank schreibt, wird normalerweise auf den ersten
Treiber in dem Stapel, der das modifizierte Element enthält,
geschrieben, und falls es keiner hat, wird das neue Element der ersten
schreibbaren Datenbank auf dem Stapel hinzugefügt.
Die Dinge werden interessanter, falls eine der Datenbanken auf dem Stapel
nur-lesend ist. Betrachten wir einen Stapel der Datenbanken Foo, Bar und Baz,
wo Foo und Baz beide nur-lesend sind. Debconf will ein Element ändern,
und dieses Element ist nur in Baz präsent, die nur-lesend ist. Der
Stapel-Treiber ist klever genug, zu erkennen, dass das nicht funktioniert, und
kopiert das Element von Baz nach Bar, und das Schreiben findet in Bar statt.
Nun wird das Element in Baz von dem in Bar verdeckt, und ist für
Debconf nicht mehr sichtbar.
Dieses ist vor allem nützlich, falls Sie viele Systeme auf eine zentrale,
nur-lesende Datenbank verweisen wollen, wobei immer noch auf jedem System
erlaubt ist, Dinge zu überstimmen. Wenn dem Bild Zugriffskontrollen
hinzugefügt werden, erlauben Ihnen Stapel viele andere interessante
Dinge zu tun, wie alle Passwörter in eine Datenbank umzuleiten,
während eine Datenbank darunter alles andere behandelt.
Nur ein Konfigurationselement wird zum Einrichten eines Stapels benötigt:
Zum Beispiel:
Name: megadb
Driver: stack
Stack: passworddb, configdb, companydb WARNUNG: Der Stapel-Treiber ist noch nicht sehr gut getestet. Auf eigenes Risiko zu verwenden.
Backup
- Stack
- Hier geben Sie eine Liste anderer Datenbanken namentlich an, um dem Treiber zu sagen, was den Stapel bildet.
Name: megadb
Driver: stack
Stack: passworddb, configdb, companydb WARNUNG: Der Stapel-Treiber ist noch nicht sehr gut getestet. Auf eigenes Risiko zu verwenden.
Dieser Treiber leitet alle Anfragen an einen
anderen Datenbankentreiber weiter. Aber er kopiert auch alle Schreibe-Anfragen
als Sicherheitskopie an einen zweiten Datenbankentreiber.
Sie müssen für die Einrichtung dieses Treibers die folgenden
Felder angeben.
Zum Beispiel:
Name: backup
Driver: Backup
Db: mydb
Backupdb: mybackupdb
Debug
- Db
- Die Datenbank, von der gelesen und auf die geschrieben werden soll.
- Backupdb
- Der Name der Datenbank, an die Kopien von Schreibzugriffen gesendet werden sollen.
Name: backup
Driver: Backup
Db: mydb
Backupdb: mybackupdb
Dieser Treiber leitet alle Anfragen an einen
anderen Datenbankentreiber weiter, und gibt eine wortreiche Ausgabe zur
Fehlersuche über Anfrage und Ergebnis aus.
Sie müssen für die Einrichtung dieses Treibers die folgenden
Felder angeben.
- Db
- Die Datenbank, von der gelesen und auf die geschrieben werden soll.
ZUGRIFFSKONTROLLEN
Wenn Sie eine Datenbank einrichten, können Sie auch einige Felder benutzen, um Zugriffskontrollen anzugeben. Sie können zum Beispiel angeben, dass eine Datenbank nur Passwörter akzeptiert, oder eine Datenbank nur Dinge mit »foo« in ihrem Namen annehmen lassen.- Readonly
- Wie vorher erwähnt, macht diese Zugriffskontrolle, falls auf »true« gesetzt, eine Datenbank nur-lesend. Debconf liest aus ihr Werte, aber schreibt niemals etwas in sie hinein.
- Accept-Name
- Der Text in diesem Feld ist ein Perl-kompatibler regulärer Ausdruck, der auf die Namen der Elemente, wie sie von der Datenbank angefragt werden, angewendet wird. Nur wenn der Name eines Elements mit dem regulären Ausdruck übereinstimmt, erlaubt die Datenbank Debconf auf es zuzugreifen oder es zu modifizieren.
- Reject-Name
- Wie Accept-Name, außer dass jedes Element, dessen Namen mit diesem regulären Ausdruck übereinstimmt, zurückgewiesen wird.
- Accept-Type
- Noch ein regulärer Ausdruck, dieser wird auf den Typ des zugegriffenen Elementes angewendet. Nur falls der Typ auf den Ausdruck passt, wird der Zugriff gestattet.
- Reject-Type
- Wie Accept-Type, außer dass jeder Typ, der auf diesen regulären Ausdruck passt, zurückgewiesen wird.
FORMATE
Einige der Datenbankentreiber benutzen Format-Module, um das eigentliche Format zu kontrollieren, in welchem die Datenbank auf Platte gespeichert wird. Diese Formate werden gegenwärtig unterstützt:- 822
- Dies ist ein Dateiformat, das ungefähr auf dem RFC-822-Format für Kopfzeilen von E-Mails basiert. Ähnliche Formate werden überall in Debian benutzt; bei der dpkg-Status-Datei und so weiter.
BEISPIEL
Hier ist ein komplizierteres Beispiel einer Datei debconf.conf.# Dieser Absatz richtet Debconf generell ein.
Config: stack
Templates: templates
Log: developer
Debug: developer
# Dies ist meine eigene lokale Datenbank.
Name: mydb
Driver: DirTree
Directory: /var/cache/debconf/config
# Dies ist eine weitere Datenbank, in der ich
# nur Konfiguration für den X-Server habe.
Name: X
Driver: File
Filename: /etc/X11/debconf.dat
Mode: 644
# Es ist ein wenig schwer, zu bestimmen,
# welche Fragen zu X11 gehören; man sollte
# eine tiefere Baumstruktur verwenden, so
# dass ich nur auf ^X/ zu schauen bräuchte
# Ach ja.
Accept-Name: xserver|xfree86|xbase
# Die ist die globale Debconf-Datenbank
# unserer Firma, (für mich) nur lesbar.
Name: company
Driver: LDAP
Server: debconf.foo.com
BaseDN: cn=debconf,dc=foo,dc=com
BindDN: uid=admin,dc=foo,dc=com
BindPasswd: secret
Readonly: true
# Ich möchte keine Passwörter, die in
# ihr enthalten sein könnten.
Reject-Type: password
# Falls diese DB aus welchem Grund auch nicht
# zugreifbar ist, mache einfach weiter.
Required: false
# In dieser Datenbank halte ich
# sicher Passwörter
Name: passwords
Driver: File
Filename: /etc/debconf/passwords
Mode: 600
Accept-Type: password
# Lassen Sie uns sie alle in
# einem Datenbankenstapel
# zusammenpacken
Name: stack
Driver: Stack
Stack: passwords, X, mydb, company
# Also kommen alle Passwörter in die
# Passwortdatenbank. Die meiste
# Konfiguration für X11 kommt in die
# Datenbank X, und alles andere kommt
# in meine Datenbank. Werte werden der
# Reihe nach in diesen nachgeschlagen,
# und wenn keine einen bestimmten Wert
# hat, wird in der Firmen-weiten LDAP-
# Datenbank nachgeschlagen (außer es
# ist ein Passwort).
# Auch für das Halten von Vorlagen wird eine
# Datenbank benutzt. Wir brauchen diese
# nicht so hübsch zu machen.
Driver: File
Mode: 644
Format: 822
Filename: /var/cache/debconf/templates