B.4. Inhalt der Voreinstellungsdatei (für Wheezy)

Die Konfigurationsfragmente, die in diesem Abschnitt benutzt werden, sind auch als Beispieldatei unter http://www.debian.org/releases/wheezy/example-preseed.txt verfügbar.

Beachten Sie, dass dieses Beispiel auf einer Installation für die Intel x86-Architektur basiert. Wenn Sie auf einer anderen Architektur installieren, könnten einige der Beispiele (wie die Tastaturauswahl und die Bootloader-Installation) nicht relevant sein und müssen durch für Ihre Architektur passende debconf-Einstellungen ersetzt werden.

Details darüber, wie die verschiedenen Debian-Installer-Komponenten funktionieren, finden Sie in Abschnitt 6.3, „Die einzelnen Komponenten“.

B.4.1. Lokalisierung

Lokalisierungswerte voreinzustellen funktioniert nur, wenn Sie Voreinstellung per initrd benutzen. Bei allen anderen Methoden wird die Voreinstellungsdatei geladen, nachdem diese Fragen gestellt wurden.

Das Gebietsschema (Locale) kann verwendet werden, um sowohl Sprache als auch Land anzugeben. Es kann jede Kombination aus einer vom debian-installer unterstützten Sprache und einem anerkannten Land (jeweils als Kürzel) enthalten. Falls die angegebene Kombination kein gültiges Gebietsschema bildet, wählt der Installer automatisch ein Gebietsschema, das für die gewählte Sprache passend ist. Um das Gebietsschema als Boot-Parameter festzulegen, nutzen Sie locale=de_DE (Beispiel de_DE: deutsch - Deutschland).

Obwohl diese Methode sehr einfach zu nutzen ist, erlaubt sie nicht das Voreinstellen aller möglichen Kombinationen aus Sprache, Land und Gebietsschema[18]. Daher können diese Werte auch individuell voreingestellt werden. Sprache und Land können auch als Boot-Parameter angegeben werden.

# Das alleinige Voreinstellen des Gebietsschemas setzt Sprache, Land und
# Standard-Gebietsschema.
d-i debian-installer/locale string de_DE

# Die Werte können auch individuell voreingestellt werden, um flexibler
# zu sein.
#d-i debian-installer/language string en
#d-i debian-installer/country string NL
#d-i debian-installer/locale string en_GB.UTF-8
# Geben Sie optional zusätzliche Gebietsschemata an, die generiert werden sollen.
#d-i localechooser/supported-locales multiselect en_US.UTF-8, nl_NL.UTF-8

Die Tastaturkonfiguration besteht aus der Auswahl der Tastaturbelegung und (bei nicht-lateinischen Tastaturbelegungen) einer Umschalttaste, um zwischen der nicht-lateinischen und der US-Tastaturbelegung hin- und herschalten zu können. Während der Installation sind nur grundlegende Tastaturbelegungsvarianten verfügbar. Erweiterte Varianten sind später im installierten System nutzbar, verwenden Sie dpkg-reconfigure keyboard-configuration.

# Auswahl der Tastatur.
# "keymap" ist ein Alias für "keyboard-configuration/xkb-keymap"
d-i keymap select de
# Keine Umschalttaste:
# d-i keyboard-configuration/toggle select No toggling

Um die Konfiguration der Tastatur zu überspringen, stellen Sie für keymap den Wert skip-config ein. Dies bewirkt, dass die Tastaturbelegung des Kernels weiter verwendet wird.

B.4.2. Netzwerk-Konfiguration

Die Voreinstellung der Netzwerk-Konfiguration funktioniert natürlich nicht, wenn Sie Ihre Voreinstellungsdatei vom Netzwerk laden, aber es ist toll, wenn Sie von CD oder USB-Stick booten. Sie können jedoch auch Netzwerkkonfigurations-Parameter automatisieren, wenn Sie die Voreinstellungsdatei per Netzwerk laden, und zwar per Kernel-Parameter.

Falls Sie beim Booten per Netzwerk eine bestimmte Netzwerkschnittstelle auswählen müssen, bevor eine Voreinstellungsdatei vom Netzwerk geladen wurde, benutzen Sie einen Boot-Parameter wie interface=eth1.

Obwohl das Voreinstellen der Netzwerkkonfiguration normalerweise nicht möglich ist, wenn Sie Voreinstellung über Netzwerk benutzen (mittels preseed/url), können Sie den folgenden Hack verwenden, um diese Einschränkung zu umgehen, wenn Sie zum Beispiel eine statische Adresse für die Netzwerk-Schnittstelle setzen möchten. Der Hack erzwingt, dass die Netzwerkkonfiguration erneut abläuft, nachdem die Voreinstellungsdatei geladen wurde. Dazu wird ein preseed/run-Script erzeugt mit den folgenden Befehlen:

kill-all-dhcp; netcfg

Die folgenden debconf-Variablen sind für die Netzwerk-Konfiguration relevant:

# Die Netzwerkkonfiguration vollständig überspringen. Dies ist für CD-ROM-
# Installationen auf Rechnern ohne Netzwerk-Hardware nützlich, wo die Fragen
# über das Netzwerk, die Warnungen und das lange Warten auf die Zeitüber-
# schreitungen sehr lästig wären.
#d-i netcfg/enable boolean false

# netcfg versucht nach Möglichkeit, eine Netzwerkschnittstelle zu wählen,
# die bereits Verbindung hat (Netzwerkkabel gesteckt, aktive Gegenstelle). 
# Diese Zeile vermeidet, dass eine Liste angezeigt wird, wenn mehr als
# eine Schnittstelle verfügbar ist.
d-i netcfg/choose_interface select auto

# Um stattdessen eine bestimmte Schnittstelle vorzugeben:
#d-i netcfg/choose_interface select eth1

# Um eine andere Timeout-Zeit für die Verbindungserkennung festzulegen
# (Standard ist 3 Sekunden). Werte werden als Sekunden interpretiert.
#d-i netcfg/link_detection_timeout string 10

# Wenn Sie einen langsamen DHCP-Server haben und der Installer läuft in eine
# Zeitüberschreitung, während er auf ihn wartet, könnte dies nützlich sein:
#d-i netcfg/dhcp_timeout string 60
#d-i netcfg/dhcpv6_timeout string 60

# Wenn Sie es vorziehen, das Netzwerk manuell zu konfigurieren, entfernen
# Sie hier das Kommentarzeichen und ebenso bei den Zeilen für die statische
# Netzwerkkonfiguration unten.
#d-i netcfg/disable_autoconfig boolean true

# Falls Sie möchten, dass die Voreinstellungsdatei sowohl auf Systemen mit
# DHCP-Server wie auch ohne einen solchen funktioniert, entfernen Sie hier
# die Kommentarzeichen sowie auch unten bei der statischen
# Netzwerkkonfiguration.
#d-i netcfg/dhcp_failed note
#d-i netcfg/dhcp_options select Configure network manually

# Statische Netzwerkkonfiguration.
#
# IPv4-Beispiel:
#d-i netcfg/get_ipaddress string 192.168.1.42
#d-i netcfg/get_netmask string 255.255.255.0
#d-i netcfg/get_gateway string 192.168.1.1
#d-i netcfg/get_nameservers string 192.168.1.1
#d-i netcfg/confirm_static boolean true
#
# IPv6-Beispiel:
#d-i netcfg/get_ipaddress string fc00::2
#d-i netcfg/get_netmask string ffff:ffff:ffff:ffff::
#d-i netcfg/get_gateway string fc00::1
#d-i netcfg/get_nameservers string fc00::1
#d-i netcfg/confirm_static boolean true

# Bedenken Sie, dass jeder Rechner- und Domänenname, der per DHCP
# zugewiesen wird, Vorrang hat vor den hier angegebenen. Allerdings
# bewirken diese Zeilen, dass keine Fragen angezeigt werden, auch wenn
# Werte per DHCP empfangen werden.
d-i netcfg/get_hostname string unassigned-hostname
d-i netcfg/get_domain string unassigned-domain

# Wenn Sie einen Rechnernamen erzwingen möchten, unabhängig davon, was der
# DHCP-Server zurückgibt oder wie der Reverse-DNS-Eintrag für die IP-Adresse
# lautet, entfernen Sie bei der folgenden Zeile das Kommentarzeichen und
# passen Sie sie an.
#d-i netcfg/hostname string somehost

# Den lästigen WEP-Schlüssel-Dialog unterdrücken.
d-i netcfg/wireless_wep string
# Der verrückte DHCP-Rechnername, den einige ISP als eine Art Passwort nutzen.
#d-i netcfg/dhcp_hostname string radish

# Falls nicht-freie Firmware benötigt wird für Netzwerk- oder andere
# Hardware, können Sie den Installer so konfigurieren, dass immer versucht wird,
# die Firmware zu laden, ohne Nachfrage (true). Oder Sie ändern dies auf false,
# wenn überhaupt nicht danach gefragt werden soll.
#d-i hw-detect/load_firmware boolean true

Bitte beachten Sie, dass netcfg die Netzmaske automatisch ermittelt, falls netcfg/get_netmask nicht voreingestellt ist. In diesem Fall muss die Variable für automatische Installationen als seen markiert werden. Ähnlich dazu wird netcfg auch eine geeignete Gateway-Adresse wählen, falls netcfg/get_gateway nicht voreingestellt wird. Es gibt die spezielle Möglichkeit, netcfg/get_gateway auf none zu setzen, um festzulegen, dass kein Gateway benutzt werden soll.

B.4.3. Netzwerk-Konsole

# Nutzen Sie die folgenden Einstellungen, wenn Sie die Komponente "Netzwerk-
# Konsole" für eine entfernte Installation per SSH verwenden möchten. Dies
# macht nur Sinn, wenn Sie vorhaben, den verbleibenden Rest der Installation
# manuell durchzuführen.
#d-i anna/choose_modules string network-console
#d-i network-console/authorized_keys_url string http://10.0.0.1/openssh-key
#d-i network-console/password password r00tme
#d-i network-console/password-again password r00tme

B.4.4. Einstellungen für den Spiegel-Server

Abhängig von der Installationsmethode, die Sie verwenden, kann ein Spiegel-Server sowohl dazu genutzt werden, zusätzliche Komponenten des Installers und das Basissystem herunterzuladen wie auch um die /etc/apt/sources.list für das zu installierende System einzurichten.

Der Parameter mirror/suite beeinflusst die Paketquellen für das zu installierende System.

Der Parameter mirror/udeb/suite beeinflusst die Paketquellen für den Installer. Es ist nur nützlich, dies einzustellen, wenn aktuell Komponenten des Installers über das Netzwerk geladen werden; dieser Wert sollte mit dem übereinstimmen, der genutzt wurde, um die initrd, die Sie für Ihre Installationsmethode nutzen, zu bauen. Normalerweise wird der Installer automatisch den korrekten Wert verwenden und es sollte daher keinen Grund geben, dies manuell festzulegen.

# Wenn Sie FTP wählen, muss mirror/country nicht gesetzt werden.
#d-i mirror/protocol string ftp
d-i mirror/country string manual
d-i mirror/http/hostname string ftp2.de.debian.org
d-i mirror/http/directory string /debian
d-i mirror/http/proxy string

# Distributionszweig von Debian, den Sie installieren möchten.
#d-i mirror/suite string testing
# Distributionszweig, der genutzt wird, um Installer-Komponenten zu
# laden (optional).
#d-i mirror/udeb/suite string testing

B.4.5. Einrichtung von Benutzerzugängen

Das Passwort für den Superuser-Zugang (root) sowie Name und Passwort des ersten regulären Benutzers können voreingestellt werden. Für die Passwörter können Sie entweder Klartext-Werte oder MD5-Hashes verwenden.

Warnung

Bedenken Sie, dass die Voreinstellung von Passwörtern nicht ganz sicher ist, da jeder, der Zugang zur Voreinstellungsdatei hat, Kenntnis von den Passwörtern hat. Hier MD5-Hashes zu verwenden, wird von der Sicherheit her betrachtet als besser angesehen, allerdings könnte Sie dies auch in falscher Sicherheit wiegen: der Zugriff auf einen MD5-Hash birgt die Gefahr von Brute-Force-Attacken.

# Das Anlegen des Root-Zugangs abbrechen (der normale Benutzer
# bekommt dann die Möglichkeit, sudo zu benutzen)
#d-i passwd/root-login boolean false
# Alternativ dazu können Sie auch das Anlegen eines normalen
# Benutzers abbrechen ...
#d-i passwd/make-user boolean false

# Root-Passwort, entweder als Klartext ...
#d-i passwd/root-password password r00tme
#d-i passwd/root-password-again password r00tme
# ... oder verschlüsselt als MD5-Hash.
#d-i passwd/root-password-crypted password [MD5 hash]

# Um einen regulären Benutzerzugang zu erstellen:
#d-i passwd/user-fullname string Max Mustermann
#d-i passwd/username string max
# Passwort des regulären Benutzers, entweder als Klartext ...
#d-i passwd/user-password password insecure
#d-i passwd/user-password-again password insecure
# ... oder verschlüsselt als MD5-Hash.
#d-i passwd/user-password-crypted password [MD5 hash]
# Den ersten Benutzer mit der angegebenen Benutzer-ID (UID) erstellen
# statt mit der Standard-UID.
#d-i passwd/user-uid string 1010

# Der Benutzerzugang wird zu einigen Standard-Benutzergruppen hinzugefügt.
# Um dies zu überschreiben, benutzen Sie:
#d-i passwd/user-default-groups string audio cdrom video

Die Variablen passwd/root-password-crypted und passwd/user-password-crypted können auch mit ! als Wert voreingestellt werden. In diesem Fall wird der entsprechende Zugang deaktiviert. Dies könnte für den root-Zugang sinnvoll sein, vorausgesetzt natürlich, dass alternative Möglichkeiten vorhanden sind, um administrative Tätigkeiten oder root-Logins zu ermöglichen (z.B. per Authentifizierung mit SSH-Schlüssel oder per sudo).

Der folgende Befehl kann verwendet werden, um einen MD5-Hash für ein Passwort zu generieren:

$ printf "r00tme" | mkpasswd -s -m md5

B.4.6. Einrichtung von Uhr und Zeitzone

# Legt fest, ob die Hardware-(CMOS-)Uhr auf UTC eingestellt ist oder nicht.
d-i clock-setup/utc boolean true

# Sie können hier irgendeinen, für $TZ gültigen Wert eingeben; gültige
# Werte finden Sie in /usr/share/zoneinfo/.
d-i time/zone string Europe/Berlin

# Hier wird eingestellt, ob NTP benutzt wird, um während der Installation
# die Uhr zu stellen.
d-i clock-setup/ntp boolean true
# NTP-Server, der genutzt werden soll. Der Standardwert sollte für die
# meisten Fälle passend sein.
#d-i clock-setup/ntp-server string ntp.example.com

B.4.7. Partitionierung

Die Möglichkeiten der Voreinstellung für die Partitionierung der Festplatte werden begrenzt durch das, was partman-auto unterstützt. Sie können wählen, entweder vorhandenen freien Platz auf der Platte zu partitionieren oder die komplette Platte. Das Layout der Disk kann durch ein vordefiniertes Rezept festgelegt werden, durch ein selbst erstelltes aus einer Rezeptdatei oder durch ein Rezept, das in der Vorkonfigurationsdatei enthalten ist.

Die Voreinstellung von fortgeschrittenen Partitionierungen unter Verwendung von RAID, LVM und Verschlüsselung ist möglich, jedoch nicht mit der vollständigen Flexibilität, die bei einer Installation ohne Voreinstellung möglich wäre.

Die Beispiele weiter unten bieten nur grundlegende Informationen über die Nutzung von Partitionierungsrezepten. Detailierte Informationen finden Sie in den Dateien partman-auto-recipe.txt und partman-auto-raid-recipe.txt, die in dem Paket debian-installer enthalten sind. Beide Dateien sind ebenfalls über das debian-installer-Quellcode-Repository verfügbar. Beachten Sie, dass die unterstützten Funktionalitäten abhängig von der Version variieren können.

Warnung

Die Erkennung der Festplatten hängt von der Reihenfolge ab, in der ihre Treiber geladen werden. Falls mehrere Platten im System existieren, achten Sie verstärkt darauf, dass Sie die richtige ausgewählt haben, bevor Sie die Voreinstellung nutzen.

B.4.7.1. Partitionierungsbeispiele

# Wenn das System freien Platz auf der Platte hat, können Sie festlegen, nur
# diesen Platz zu partitionieren. Folgendes zu setzen hat nur Auswirkungen,
# wenn partman-auto/method (weiter unten) nicht gesetzt ist.
#d-i partman-auto/init_automatically_partition select biggest_free

# Alternativ können Sie eine Festplatte angeben, die partitioniert werden soll.
# Falls das System nur eine einzige Festplatte enthält, wird der Installer diese
# standardmäßig verwenden, aber andernfalls muss der Gerätename der Platte im
# traditionellen Format (nicht devfs) angegeben werden (z.B. /dev/hda oder
# /dev/sda, nicht jedoch etwas wie /dev/discs/disc0/disc).
# Um z.B. die erste SCSI/SATA-Festplatte zu nutzen, kann die folgende Zeile
# verwendet werden:
#d-i partman-auto/disk string /dev/sda
# Zusätzlich müssen Sie angeben, welche Partitionierungsmethode genutzt werden
# soll. Derzeit verfügbare Methoden:
# - regular: gewöhnliche Partitionstypen für die jeweilige Architektur verwenden
# - lvm:     LVM verwenden, um die Platte zu partitionieren
# - crypto:  LVM mit einer verschlüsselten Partition verwenden
d-i partman-auto/method string lvm

# Falls eine der Festplatten, die automatisch partitioniert werden sollen, eine
# alte LVM-Konfiguration enthält, wird dem Benutzer normalerweise eine Warnung
# angezeigt. Diese kann aber durch Voreinstellung unterdrückt werden...
d-i partman-lvm/device_remove_lvm boolean true
# Das Gleiche gilt für bereits existierende Software-RAID-Arrays:
d-i partman-md/device_remove_md boolean true
# Ebenfalls für die Bestätigung, die LVM-Partitionen zu schreiben.
d-i partman-lvm/confirm boolean true
d-i partman-lvm/confirm_nooverwrite boolean true

# Sie können eines der vordefinierten Partitionierungsrezepte wählen:
# - atomic: alle Dateien in einer Partition
# - home:   separate /home-Partition
# - multi:  separate /home-, /usr-, /var- und /tmp-Partitionen
d-i partman-auto/choose_recipe select atomic

# Oder erstellen Sie ein eigenes Rezept...
# beschrieben. Wenn Sie eine Möglichkeit haben, eine Rezeptdatei in die
# d-i-Umgebung zu bekommen, können Sie einfach darauf verweisen:
#d-i partman-auto/expert_recipe_file string /hd-media/recipe

# Falls nicht, können Sie auch ein ganzes Rezept in eine einzige (logische)
# Zeile packen. Dieses Beispiel erzeugt eine kleine /boot-Partition, eine
# Swap-Partition passender Größe und benutzt den Rest des Platzes für
# die Root-Partition:
#d-i partman-auto/expert_recipe string                         \
#      boot-root ::                                            \
#              40 50 100 ext3                                  \
#                      $primary{ } $bootable{ }                \
#                      method{ format } format{ }              \
#                      use_filesystem{ } filesystem{ ext3 }    \
#                      mountpoint{ /boot }                     \
#              .                                               \
#              500 10000 1000000000 ext3                       \
#                      method{ format } format{ }              \
#                      use_filesystem{ } filesystem{ ext3 }    \
#                      mountpoint{ / }                         \
#              .                                               \
#              64 512 300% linux-swap                          \
#                      method{ swap } format{ }                \
#              .

# Das vollständige Rezeptformat ist in der Datei partman-auto-recipe.txt
# dokumentiert, die im Paket »debian-installer« enthalten oder im D-I-Quellcode-
# Repository verfügbar ist. Dort ist auch dokumentiert, wie erweiterte
# Einstellungen festgelegt werden, wie z.B. Dateisystem-Bezeichnungen, Volume-
# gruppennamen oder welche physikalischen Geräte in einer Volumegruppe enthalten
# sein sollen.

# Dies veranlasst partman, automatisch ohne Nachfrage zu partitionieren,
# vorausgesetzt, Sie haben mit einer der obigen Methoden festgelegt, wie
# partitioniert werden soll.
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true

B.4.7.2. Partitionierung mit RAID

Sie können auch Voreinstellung verwenden, um Partitionen auf einem Software-RAID einzurichten. Es werden RAID-Level 0, 1, 5, 6 und 10 unterstützt sowie die Einrichtung von degradierten Arrays und die Festlegung von Reserve-Geräten.

Wenn Sie RAID 1 verwenden, können Sie voreinstellen, dass grub auf allen Geräten im Verbund installiert wird; siehe Abschnitt B.4.11, „Installation des Bootloaders“.

Warnung

Bei dieser Art von automatisierter Partitionierung kann leicht etwas falsch laufen. Auch ist diese Installer-Komponente von den Entwicklern des debian-installer relativ wenig getestet worden. Die Verantwortung, die verschiedenen Rezepte richtig hinzubekommen (so dass Sie Sinn machen und nicht miteinander kollidieren), liegt beim Benutzer! Schauen Sie in /var/log/syslog nach, wenn Probleme auftreten.

# Die Partitionierungsmethode sollte auf "raid" gesetzt werden.
#d-i partman-auto/method string raid
# Geben Sie die Festplatten an, die partitioniert werden sollen. Sie bekommen
# alle das gleiche Layout, dies wird also nur funktionieren, wenn alle
# Festplatten die gleiche Größe haben.
#d-i partman-auto/disk string /dev/sda /dev/sdb

# Als nächstes müssen Sie die zu nutzenden physikalischen Partitionen einrichten.
#d-i partman-auto/expert_recipe string \
#      multiraid ::                                         \
#              1000 5000 4000 raid                          \
#                      $primary{ } method{ raid }           \
#              .                                            \
#              64 512 300% raid                             \
#                      method{ raid }                       \
#              .                                            \
#              500 10000 1000000000 raid                    \
#                      method{ raid }                       \
#              .

# Als letztes muss noch angegeben werden, wie die vorher definierten Partitionen
# im RAID-Setup verwendet werden sollen. Denken Sie daran, die korrekten
# Partitionsnummern für die logischen Partitionen zu benutzen. Es werden die
# RAID-Level 0, 1, 5, 6 und 10 unterstützt; Geräte werden mittels »#« voneinander
# getrennt.
# Parameter sind:
# <raidtype> <devcount> <sparecount> <fstype> <mountpoint> \
#          <devices> <sparedevices>
# 
#d-i partman-auto-raid/recipe string \
#    1 2 0 ext3 /                    \
#          /dev/sda1#/dev/sdb1       \
#    .                               \
#    1 2 0 swap -                    \
#          /dev/sda5#/dev/sdb5       \
#    .                               \
#    0 2 0 ext3 /home                \
#          /dev/sda6#/dev/sdb6       \
#    .

# Weitere Informationen finden Sie in der Datei partman-auto-raid-recipe.txt,
# die im Paket »debian-installer« enthalten oder im D-I-Quellcode-Repository
# verfügbar ist.

# Dies veranlasst partman, automatisch ohne Nachfrage zu partitionieren.
d-i partman-md/confirm boolean true
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true

B.4.7.3. Festlegen, wie Partitionen eingebunden werden

Normalerweise werden Dateisysteme unter Verwendung einer eindeutigen Kennung, dem Universally Unique Identifier (UUID) als Schlüssel eingebunden; auf diesem Wege ist es möglich, sie korrekt einzubinden, selbst wenn sich ihr Gerätename ändert. UUIDs sind allerdings lang und schwierig zu lesen, daher kann der Installer die Dateisysteme, falls Sie dies bevorzugen, auch basierend auf den traditionellen Gerätenamen einbinden oder aber basierend auf einem Label, das sie festlegen. Wenn Sie den Installer anweisen, die Einbindung über ein Label vorzunehmen, wird für alle Dateisysteme, die kein Label haben, trotzdem der UUID verwendet.

Für Geräte mit feststehenden Namen, wie zum Beispiel logischen LVM-Volumes, werden weiterhin die traditionellen Namen statt der UUIDs verwendet.

Warnung

Die traditionellen Gerätenamen können sich basierend auf der Reihenfolge, in der der Kernel die Geräte beim Booten erkennt, ändern, was dazu führen kann, dass das falsche Dateisystem eingebunden wird. Ähnlich dazu können bei den Labels Überschneidungen auftreten, wenn Sie eine neue Festplatte oder ein USB-Laufwerk anschließen, und wenn dies passiert, ist das Verhalten Ihres Systems beim Starten rein willkürlich.

# Standardeinstellung ist, mittels UUID einzubinden, Sie können aber auch
# "traditional" wählen, um die traditionellen Gerätenamen zu nutzen, oder
# "label", um die Einbindung per Dabeisystem-Label zu versuchen, wobei im
# Falle eines Fehlers hier die UUIDs als Ausweichlösung verwendet werden.
#d-i partman/mount_style select uuid

B.4.8. Installation des Basissystems

Es gibt momentan nicht viel, was für diesen Teil der Installation voreingestellt werden kann. Die einzigen gestellten Fragen betreffen die Installation des Kernels.

# APT konfigurieren, dass empfohlene (recommended) Pakete nicht automatisch
# installiert werden. Die Verwendung dieser Option kann zu einem unvollständigen
# System führen und sollte nur von sehr erfahrenen Anwendern genutzt werden.
#d-i base-installer/install-recommends boolean false

# Das Kernel-Image-(Meta-)Paket, das installiert werden soll; "none" kann
# genutzt werden, wenn kein Kernel installiert werden soll.
#d-i base-installer/kernel/image string kfreebsd-image-486

B.4.9. Konfiguration von Apt

Die Konfiguration von /etc/apt/sources.list und grundlegenden Einstellungsoptionen ist voll automatisiert, basierend auf der Installationsmethode und Antworten auf frühere Fragen. Sie können optional weitere (lokale) Paketquellen (Repositories) hinzufügen.

# Sie können wählen, ob Sie Software aus dem "non-free"- oder
# "contrib"-Zweig installieren möchten.
#d-i apt-setup/non-free boolean true
#d-i apt-setup/contrib boolean true
# Entfernen Sie das folgende Kommentarzeichen, wenn Sie keinen Netzwerk-
# Spiegel-Server verwenden möchten.
#d-i apt-setup/use_mirror boolean false
# Wählen Sie, welche Update-Dienste genutzt werden sollen; legen Sie die
# zu verwendenden Spiegel-Server fest. Die hier angegebenen Werte sind die
# normalen Standardwerte.
#d-i apt-setup/services-select multiselect security, updates
#d-i apt-setup/security_host string security.debian.org

# Zusätzliche Paketquellen, "local[0-9]" verfügbar
#d-i apt-setup/local0/repository string \
#       http://local.server/debian stable main
#d-i apt-setup/local0/comment string local server
# deb-src-Zeilen aktivieren
#d-i apt-setup/local0/source boolean true
# URL zum öffentlichen Schlüssel der lokalen Quelle; Sie müssen einen
# Schlüssel bereitstellen, oder apt wird sich über die nicht-autorisierte
# Quelle beschweren und die Zeile in der sources.list wird auskommentiert
# bleiben und nicht genutzt.
#d-i apt-setup/local0/key string http://local.server/key

# Standardmäßig verlangt der Installer, dass Paketquellen mittels
# bekannter GPG-Schlüssel autorisiert werden. Folgendes kann verwendet
# werden, um das zu deaktivieren. WARNUNG: unsicher, nicht empfohlen.
#d-i debian-installer/allow_unauthenticated boolean true

B.4.10. Paketauswahl

Sie können jede Kombination der verfügbaren Programmgruppen auswählen. Mögliche Werte zum Zeitpunkt, als dies geschrieben wurde:

  • standard (Standard-System)

  • desktop (Arbeitsplatz-System)

  • gnome-desktop (Arbeitsplatz-System mit Gnome)

  • kde-desktop (Arbeitsplatz-System mit KDE)

  • web-server (Web-Server)

  • print-server (Druck-Server)

  • dns-server (DNS-Server)

  • file-server (Datei-Server)

  • mail-server (Mail-Server)

  • sql-database (SQL-Datenbank)

  • laptop (tragbarer Computer)

Sie können hier auch wählen, gar nichts zu installieren und die Installation von bestimmten Paketen auf andere Art erzwingen. Wir empfehlen aber, immer zumindest die Programmgruppe standard auszuwählen.

Wenn Sie zusätzlich zu den Paketen, die durch die Programmgruppen installiert werden, weitere benötigen, können Sie den Parameter pkgsel/include benutzen. Der Wert für diesen Parameter kann eine Liste von Paketen sein, getrennt entweder durch Kommas oder durch Leerzeichen, so dass Sie ihn auch recht einfach auf der Kernel-Kommandozeile verwenden können.

#tasksel tasksel/first multiselect standard, web-server
# Wenn die Programmgruppe "desktop" (Arbeitsplatz-System) ausgewählt ist,
# den KDE- und XFCE-Desktop statt dem Standard-Gnome-Desktop installieren.
#tasksel tasksel/desktop multiselect kde, xfce

# Individuelle zusätzliche Pakete, die installiert werden sollen:
#d-i pkgsel/include string openssh-server build-essential
# Ob Pakete aktualisiert werden sollen, nachdem debootstrap beendet ist:
# Gültige Werte: none, safe-upgrade, full-upgrade
#d-i pkgsel/upgrade select none

# Einige Versionen des Installers können Informationen an das Debian-
# Projekt zurück senden, welche Pakete Sie installiert haben.
# Standardeinstellung ist, nichts zu senden, aber Informationen zu senden
# hilft dem Projekt zu entscheiden, welche Software wie beliebt ist und ob
# bzw. wo sie auf die CDs gepackt werden sollte.
#popularity-contest popularity-contest/participate boolean false

B.4.11. Installation des Bootloaders


# Um keinen Bootloader zu installieren, entfernen Sie hier das
# Kommentarzeichen:
#d-i grub-installer/skip boolean true

# Dies ist eine ziemlich sichere Einstellung; sie bewirkt, dass grub
# automatisch in den MBR installiert wird, wenn kein anderes Betriebssystem
# erkannt wird. 
d-i grub-installer/only_debian boolean true

# Dies bewirkt, dass grub in den MBR installiert wird, auch wenn noch andere
# Betriebssysteme erkannt wurden. Dies ist nicht so sicher, da möglicherweise
# die anderen Systeme nicht mehr gestartet werden können.
d-i grub-installer/with_other_os boolean true

# Wenn Sie alternativ an einen anderen Ort als in den MBR installieren
# möchten, entfernen Sie hier die Kommentarzeichen und passen Sie
# die Zeilen an:
#d-i grub-installer/only_debian boolean false
#d-i grub-installer/with_other_os boolean false
#d-i grub-installer/bootdev  string (hd0,0)
# Um grub auf mehrere Festplatten zu installieren:
#d-i grub-installer/bootdev  string (hd0,0) (hd1,0) (hd2,0)
# Um grub auf eine bestimmte Festplatte zu installieren:
#d-i grub-installer/bootdev  string /dev/sda

# Optionales Passwort für grub, entweder als Klartext ...
#d-i grub-installer/password password r00tme
#d-i grub-installer/password-again password r00tme
# ... oder verschlüsselt mittels MD5-Hash; siehe grub-md5-crypt(8).
#d-i grub-installer/password-crypted password [MD5 hash]

# Verwenden Sie die folgende Option, um zusätzliche Boot-Parameter für
# das installierte System anzugeben (falls dies vom Bootloader-Installer
# unterstützt wird).
# Hinweis: Optionen, die dem Installer zum Booten angegeben wurden, werden
# automatisch auch für das installierte System hinzugefügt.
#d-i debian-installer/add-kernel-opts string nousb

Ein MD5-Hash für ein grub-Passwort kann mit dem Befehl grub-md5-crypt generiert werden oder mit dem Kommando aus dem Beispiel in Abschnitt B.4.5, „Einrichtung von Benutzerzugängen“.

B.4.12. Die Installation beenden

# Bei Installationen über die serielle Konsole werden die regulären virtuellen
# Konsolen (VT1 - VT6) normalerweise in /etc/inittab deaktivert. Um dies zu
# vermeiden, entfernen Sie vor der nächsten Zeile das Kommentarzeichen.
#d-i finish-install/keep-consoles boolean true

# Die letzte Meldung "Installation abgeschlossen" unterdrücken.
d-i finish-install/reboot_in_progress note

# Dies verhindert, dass der Installer während des Neustarts die CD
# auswirft, was in einigen Situationen sinnvoll sein könnte.
#d-i cdrom-detect/eject boolean false

# Durch die folgende Zeile wird der Installer nach Abschluss der
# Installation nur heruntergefahren, kein Neustart, es wird nicht das neue
# System gestartet.
#d-i debian-installer/exit/halt boolean true
# Durch die nächste Zeile wird der Rechner komplett abgeschaltet statt
# nur gestoppt.
#d-i debian-installer/exit/poweroff boolean true

B.4.13. Voreinstellung anderer Pakete

# Abhängig davon, welche Software Sie zur Installation auswählen oder ob
# Dinge während des Installationsprozesses schief laufen, ist es möglich,
# dass andere Fragen auftauchen. Sie können auch für diese natürlich
# Voreinstellungen festlegen. Eine Liste mit allen möglichen Fragen, die
# gestellt werden könnten, bekommen Sie, indem Sie eine Installation
# durchführen und danach diese Befehle ausführen:
#   debconf-get-selections --installer > file
#   debconf-get-selections >> file


[18] Wenn zum Beispiel locale auf en_NL voreingestellt wird, würde dies zu dem Standard-Gebietsschema en_US.UTF-8 auf dem installierten System führen. Wenn aber stattdessen en_GB.UTF-8 bevorzugt wird, müssen diese Werte individuell voreingestellt werden.