DEBCONF.CONF(5) | File Formats Manual | DEBCONF.CONF(5) |
debconf.conf - Konfigurations-Datei für Debconf
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.
# 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
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:
Zusätzliche Felder, die benutzt werden können, schließen ein:
Der erste Abschnitt der Datei kann wie folgt aussehen:
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
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.
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
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
Dieser Treiber ist auf dieselbe Weise wie der Treiber DirTree konfigurierbar, und zusätzlich:
Ein Beispiel-Absatz, der eine Datenbank unter Benutzung dieses Treiber einrichtet:
Name: mydb
Driver: PackageDir
Directory: /var/cache/debconf/mydb
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
Die folgenden Dinge sind für diesen Treiber konfigurierbar:
Das sind alle echten Treiber, lassen Sie uns nun zu den Meta-Treibern gehen.
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
Sie müssen für die Einrichtung dieses Treibers die folgenden Felder angeben.
Zum Beispiel:
Name: backup
Driver: Backup
Db: mydb
Backupdb: mybackupdb
Debug
Sie müssen für die Einrichtung dieses Treibers die folgenden Felder angeben.
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.
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:
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
Falls Sie in dieser Datei etwas wie ${HOME} benutzen, wird es durch den Wert der benannten Umgebungsvariablen ersetzt.
Umgebungsvariablen können auch benutzt werden, um die Datenbanken im Vorbeigehen zu überstimmen, siehe debconf(7).
Bei den Feldnamen (der Teil der Zeile vor dem Doppelpunkt) wird nicht auf Groß-/Kleinschreibung geachtet. Aber bei den Werten.
Mehr Treiber und Formate. Einige Ideen beinhalten: Ein SQL-Treiber, mit der Fähigkeit, auf eine entfernte Datenbank zuzugreifen. Ein DHCP-Treiber, der einige besondere Dinge wie Hostname, IP-Adresse und DNS-Server verfügbar macht. Ein Treiber, der Werte aus TXT-Feldern in öffentlichen DNS-Einträgen zieht. Ein Format, das kompatibel mit der Ausgabe von cdebconf ist. Ein Überstimmungstreiber, der die Wert-Felder oder Flags von allen Anfragen, die durch ihn hindurchgeleitet werden, überstimmen kann.
/etc/debconf.conf
~/.debconfrc
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.
Joey Hess <joeyh@debian.org>