Die Voreinstellungsdatei hat das gleiche Format, wie es auch vom Befehl debconf-set-selections verwendet wird. Das grundsätzliche Format einer Zeile in einer Voreinstellungsdatei ist Folgendes:
<owner> <question name> <question type> <value> ( <Eigentümer> <Name der Frage> <Typ der Frage> <Wert> )
Es gibt ein paar Regeln, die man im Hinterkopf behalten sollte, wenn man eine Voreinstellungsdatei schreibt:
Fügen Sie zwischen Typ und Wert nur ein einzelnes Leerzeichen oder einen Tab ein; jedes zusätzliche Leerzeichen wird interpretiert, als ob es zum Wert gehört.
Eine Zeile kann in mehrere aufgeteilt werden, indem ein Backslash
(„\
“) als Zeilenfortsetzungszeichen angefügt
wird. Eine gute Stelle, um die Zeile aufzuteilen, ist hinter dem Namen der Frage;
eine schlechte ist zwischen Typ und Wert. Solche geteilten Zeilen werden in eine
einzige zusammengeführt, wobei alle führenden (vor dem Backslash) und
folgenden Leerzeichen (hinter dem Backslash) in ein einziges Leerzeichen
konvertiert werden.
Für debconf-Variablen (Templates), die im Installer selbst benutzt werden, muss der Eigentümer (owner) auf „d-i“ gesetzt werden; um Variablen im neu installierten System voreinzustellen, muss der Name des Pakets, das die entsprechenden debconf-Templates enthält, verwendet werden. Nur Variablen, deren Eigentümer auf einen anderen Wert als „d-i“ gesetzt ist, werden der debconf-Datenbank des installierten Systems zugewiesen.
Für die meisten Fragen müssen bei der Voreinstellung die gültigen Werte
in englischer Sprache benutzt werden und nicht die übersetzten Werte.
Allerdings gibt es auch einige (zum Beispiel in
partman
), wo die übersetzten Werte verwendet
werden müssen.
Einige Fragen verwenden einen Code als Wert statt des englischen Textes, der während der Installation angezeigt wird.
Der einfachste Weg, eine Voreinstellungsdatei zu erzeugen ist, die Beispieldatei aus Abschnitt B.4, „Inhalt der Voreinstellungsdatei (für Squeeze)“ als Basis zu nehmen und sich von dort aus vorzuarbeiten.
Eine andere Methode ist, eine manuelle Installation durchzuführen und
dann nach dem Neustart den Befehl debconf-get-selections
aus dem Paket debconf-utils
zu verwenden, um
sowohl die debconf-Datenbank wie auch die cdebconf-Datenbank des
Installers in eine Datei einzulesen:
$ debconf-get-selections --installer >file
$ debconf-get-selections >>file
Allerdings wird eine Datei, die auf diese Art erzeugt wurde, einige Einträge enthalten, die besser nicht voreingestellt werden sollten; deshalb wird die Beispieldatei für die meisten Benutzer ein besserer Ausgangspunkt sein.
Diese Methode basiert auf der Tatsache, dass die cdebconf-Datenbank des
Installers zum Ende der Installation nach
/var/log/installer/cdebconf
gesichert wird.
Allerdings könnte die Datenbank sensible Informationen enthalten und ist
deswegen nur für root lesbar.
Das Verzeichnis /var/log/installer
und alle Dateien
darin werden von Ihrem System gelöscht, wenn Sie das Paket
installation-report
löschen und dabei die Option
„purge“ (vollständiges Entfernen inkl. Konfigurationsdateien)
aktivieren.
Um mögliche Werte für Voreinstellungseinträge herauszufinden, können Sie
den Editor nano benutzen, um die Dateien in
/var/lib/cdebconf
zu betrachten, während die Installation
im Gange ist. templates.dat
enthält die rohen Einträge
(Templates) und in questions.dat
finden Sie die aktuellen
Werte zu den Templates sowie die Werte, die den Variablen zugewiesen sind.
Um vor dem Start einer Installation zu überprüfen, ob das Format Ihrer
Voreinstellungsdatei gültig ist, können Sie den Befehl
debconf-set-selections -c
preseed.cfg
verwenden.