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> )
Die Datei sollte mit #_preseed_V1
beginnen.
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 nur 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.
#_preseed_V1
an den Anfang der Datei schreiben.
Eine Zeile, die mit einem Raute-Zeichen („#
“) beginnt, wird komplett als Kommentar angesehen und somit funktional nicht ausgewertet.
Der einfachste Weg, eine Voreinstellungsdatei zu erzeugen ist, die Beispieldatei aus Abschnitt B.4, „Inhalt der Voreinstellungsdatei (für Bullseye)“ 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 als auch die cdebconf-Datenbank des Installers in eine Datei einzulesen:
$ echo "#_preseed_V1" >datei
$ debconf-get-selections --installer >>datei
$ debconf-get-selections >>datei
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.
Anmerkung | |
---|---|
Diese Methode basiert auf der Tatsache, dass die cdebconf-Datenbank des Installers zum Ende der Installation nach Das Verzeichnis |
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.