Dies ist ein komplettes, funktionierendes Beispiel einer Voreinstellungs-Datei für eine automatische Installation. Wie Sie sie benutzen, ist in Abschnitt 4.4, „Automatische Installation“ beschrieben. Vielleicht sollten Sie bei einigen Zeilen der Datei das Kommentarzeichen entfernen, bevor Sie sie benutzen.
Um dieses Beispiel im Handbuch korrekt darstellen zu können, mussten einige Zeilen gesplittet werden, da sie sonst aufgrund ihrer Länge nicht komplett angezeigt werden könnten. Sie erkennen diese Zeilen daran, dass das Zeilenfortführungs-Zeichen „\“ verwendet wird sowie an einer zusätzlichen Einrückung in der darauf folgenden Zeile. In einer echten Voreinstellungs-Datei müssen diese gesplitteten Zeilen wieder zu einer einzigen Zeile zusammengefügt werden. Ansonsten wird die Voreinstellung nicht funktionieren und kann zu unvorhersehbaren Ergebnissen führen.
Sie finden eine „unverfälschte“ Voreinstellungs-Datei auf den offiziellen Debian-Installations-CD-ROMs unter /doc/install/manual sowie im Internet auf http://www.debian.org/releases/sarge/example-preseed.txt.
#### Modifikation von syslinux.cfg.
# Editieren Sie die syslinux.cfg (oder eine ähnliche Datei) und fügen Sie
# Kernelparameter an das Ende der "append"-Zeile an.
#
# Zumindest sollten Sie einen Parameter hinzufügen, der dem Installer sagt,
# woher er seine Voreinstellungs-Datei bekommt.
# Wenn Sie von einem USB-Speicher installieren, benutzen Sie diesen Parameter
# und speichern Sie die Voreinstellungs-Datei im Toplevel-Verzeichnis des
# USB-Sticks ab.
# preseed/file=/hd-media/preseed
# Wenn Sie per Netzwerk booten, benutzen Sie stattdessen:
# preseed/url=http://host/path/to/preseed
# Wenn Sie eine CD remastern, können Sie diesen Parameter verwenden:
# preseed/file=/cdrom/preseed
# Stellen Sie sicher, dass Sie die Datei in dem Verzeichnis ablegen, das
# Sie angeben.
#
# Während Sie hiermit arbeiten, sollten Sie vielleicht die Priorität auf
# kritisch setzen (debconf/priority=critical), um die meisten Fragen zu
# unterdrücken, auch wenn in der Voreinstellungs-Datei Einträge fehlen sollten.
# Und Sie sollten in syslinux.cfg den Timeout auf 1 setzen, damit Sie nicht
# Enter drücken müssen, um den Installer zu booten.
#
# Sprache, Land und Tastaturlayout können nicht über eine Datei voreingestellt
# werden, da die Fragen bereits gestellt werden, bevor die Voreinstellungs-Datei
# geladen werden kann.
# Stattdessen können Sie einige zusätzliche Kernelparameter angeben, um die
# Fragen zu vermeiden:
#
# languagechooser/language-name=English
# countrychooser/shortlist=US
# console-keymaps-at/keymap=us
#
# Beachten Sie, dass der Kernel maximal 8 Kommandozeilen-Optionen und
# 8 Umgebungsoptionen akzeptiert (inklusive einiger Optionen, die
# standardmäßig für den Installer hinzugefügt werden). Wird diese Zahl
# überschritten, werden 2.4-Kernel die überzähligen einfach ignorieren
# und 2.6-Kernel werden eine Kernel-Panic melden.
# Einige der Standardoptionen wie "vga=normal" und "devfs=mount"
# können bei den meisten Installationen getrost entfernt werden, wodurch
# Sie mehr Optionen für Voreinstellungen frei haben.
#### Shell-Befehle.
# Den d-i voreinzustellen, ist von Natur aus nicht sicher. Nichts im Installer
# überprüft auf Versuche eines Pufferüberlaufs oder anderweitiger Ausnutzung
# der Werte einer Voreinstellungs-Datei wie dieser. Benutzen Sie nur
# Voreinstellungs-Dateien aus vertrauenswürdigen Quellen! Um diese Aussage zu
# untermauern und weil es auch generell nützlich ist, zeigen wir hier eine
# Möglichkeit, jegliche Shell-Befehle, die Sie gerne im Installer hätten,
# automatisch zu starten.
# Dieser erste Befehl wird so früh wie möglich ausgeführt, direkt nachdem die
# Verarbeitung der Voreinstellungs-Datei abgeschlossen ist.
#d-i preseed/early_command string \
# wget http://url/to/my.udeb -O /tmp/my.udeb ; udpkg -i /tmp/my.udeb
# Dieses Kommando wird ausgeführt, kurz bevor der Installer fertig ist, wenn
# aber noch ein nutzbares /target-Verzeichnis verfügbar ist.
#d-i preseed/late_command string \
# for deb in /hd-media/*.deb; do cp $deb /target/tmp; \
# chroot /target dpkg -i /tmp/$(basename $deb); done
# Dieser Befehl wird ausgeführt, wenn base-config startet.
#base-config base-config/early_command string echo hi mom
# Dieses Kommando wird ausgeführt, wenn base-config fertig ist, direkt vor dem
# "Login:"-Prompt. An dieser Stelle wäre eine gute Möglichkeit, einen Satz
# Pakete zu installieren, die Sie haben möchten, oder die Konfiguration des
# Systems zu optimieren.
#base-config base-config/late_command string \
# apt-get install zsh; chsh -s /bin/zsh
#### Netzwerk-Konfiguration.
# Dies wird natürlich nicht funktionieren, wenn Sie Ihre Voreinstellungs-Datei
# über das Netzwerk laden! Es ist aber toll, wenn Sie von CD oder USB-Stick
# booten. Sie können auch Netzwerkkonfigurations-Parameter angeben, wenn Sie
# die Voreinstellungs-Datei per Netzwerk laden, und zwar als Kernel-Parameter.
# netcfg versucht nach Möglichkeit, eine Netzwerkschnittstelle zu wählen, die
# bereits Verbindung hat (Netzwerkkabel gesteckt). Diese Zeile vermeidet, dass
# eine Liste angezeigt wird, wenn mehr als eine Schnittstelle verfügbar ist.
d-i netcfg/choose_interface select auto
# Wenn Sie es vorziehen, das Netzwerk manuell zu konfigurieren: hier steht,
# wie es geht:
#d-i netcfg/disable_dhcp boolean true
#d-i netcfg/get_nameservers string 192.168.1.1
#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/confirm_static boolean true
# Bedenken Sie, dass jeder Hostname und Domainname, 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
# Den lästigen WEP-Schlüssel-Dialog unterdrücken.
d-i netcfg/wireless_wep string
# Der verrückte DHCP-Hostname, den einige ISP als eine Art Passwort benutzen.
#d-i netcfg/dhcp_hostname string radish
#### Einstellungen für den Mirror-Server.
d-i mirror/country string enter information manually
d-i mirror/http/hostname string http.us.debian.org
d-i mirror/http/directory string /debian
d-i mirror/suite string testing
d-i mirror/http/proxy string
### Partitionierung.
# Wenn das System freien Platz auf der Platte hat, können Sie festlegen, nur
# diesen Platz zu partitionieren.
#d-i partman-auto/init_automatically_partition \
# select Use the largest continuous free space
# Alternativ können Sie eine Festplatte angeben, die partitioniert werden soll.
# Der Gerätename kann entweder als devfs-Bezeichnung oder im traditionellen
# Format angegeben werden. Um z.B. die erste Platte zu nutzen, die devfs kennt:
d-i partman-auto/disk string /dev/discs/disc0/disc
# Sie können eines der vordefinierten Partitionierungsrezepte wählen:
d-i partman-auto/choose_recipe select \
All files in one partition (recommended for new users)
#d-i partman-auto/choose_recipe select Desktop machine
#d-i partman-auto/choose_recipe select Multi-user workstation
# Oder erstellen Sie ein eigenes Rezept...
# Das Rezept-Format ist in der Datei devel/partman-auto-recipe.txt 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
# Wenn nicht, können sie auch ein ganzes Rezept in eine einzige 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 :: \
# 20 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{ } .
# Als Referenz hier das gleiche Rezept in einer lesbareren Form:
# 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{ }
# .
# Durch diese Voreinstellung partitioniert partman automatisch, ohne nachzufragen.
d-i partman/confirm_write_new_label boolean true
d-i partman/choose_partition select \
Finish partitioning and write changes to disk
d-i partman/confirm boolean true
#### Installation des Bootloaders.
# Grub ist (für x86) der Standard-Bootloader. Wenn Sie stattdessen lilo
# installieren möchten, 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 auch dann in den MBR installiert wird, wenn andere
# Betriebssysteme erkannt werden. Es ist nicht sehr sicher, da so 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/bootdev string (hd0,0)
#d-i grub-installer/only-debian boolean false
#d-i grub-installer/with_other_os boolean false
##### Die erste Installationsstufe beenden.
# Die letzte Meldung "Installation abgeschlossen" unterdrücken.
d-i prebaseconfig/reboot_in_progress note
##### base-config voreinstellen.
# Die Einführungs-Nachricht unterdrücken.
base-config base-config/intro note
# Die abschließende Nachricht unterdrücken.
base-config base-config/login note
# Wenn ein Display-Manager installiert wurde, aber nicht direkt gestartet werden
# soll, nachdem base-config beendet ist:
#base-config base-config/start-display-manager boolean false
###### Einstellung der Zeitzone.
# Ob die Hardware-Uhr auf GMT gesetzt ist oder nicht:
base-config tzconfig/gmt boolean true
# Wenn Sie dem Installer mitgeteilt haben, dass Sie sich in den USA befinden,
# können Sie mit dieser Variable die Zeitzone festlegen.
# (Mögliche Werte sind: Eastern, Central, Mountain, Pacific, Alaska, Hawaii,
# Aleutian, Arizona East-Indiana, Indiana-Starke, Michigan, Samoa, other)
base-config tzconfig/choose_country_zone/US select Eastern
# Wenn Sie sich in Kanada befinden.
# (Mögliche Werte sind: Newfoundland, Atlantic, Eastern, Central,
# East-Saskatchewan, Saskatchewan, Mountain, Pacific, Yukon, other)
base-config tzconfig/choose_country_zone/CA select Eastern
# Wenn Sie sich in Brasilien befinden.
# (Mögliche Werte sind: East, West, Acre, DeNoronha, other)
base-config tzconfig/choose_country_zone/BR select East
# Viele Länder haben nur eine Zeitzone. Wenn Sie sich in einem solchen Land
# befinden, können Sie mit der folgenden Zeile die Standard-Zeitzone dieses
# Landes wählen.
base-config tzconfig/choose_country_zone_single boolean true
# Die nächste Frage ist ein Fallback für Länder, die nicht oben erwähnt wurden,
# aber mehr als eine Zeitzone haben. Sie können eine der Zeitzonen auswählen
# oder den Wert "other".
#base-config tzconfig/choose_country_zone_multiple select
###### Einstellungen für Benutzeraccounts.
# Um das root-Passwort voreinzustellen, müssen Sie es als Klartext in diese
# Datei schreiben. Das ist keine gute Idee, nutzen Sie dies mit Vorsicht!
#passwd passwd/root-password password r00tme
#passwd passwd/root-password-again password r00tme
# Wenn Sie die Erzeugung eines normalen Benutzerkontos überspringen wollen:
#passwd passwd/make-user boolean false
# Alternativ, können Sie den vollen Namen und den Loginnamen voreinstellen.
#passwd passwd/user-fullname string Debian User
#passwd passwd/username string debian
# Sowie das Passwort, aber seien Sie hiermit vorsichtig!
#passwd passwd/user-password password insecure
#passwd passwd/user-password-again password insecure
###### Apt-Setup.
# Diese Frage legt fest, welche Paketquelle in der zweiten Stufe der
# Installation benutzt wird.
# (Mögliche Werte sind: cdrom, http, ftp, filesystem, edit sources list by hand)
base-config apt-setup/uri_type select http
# Wenn Sie ftp oder http auswählen, werden Sie nach einen Land und einem
# Spiegel-Server gefragt:
base-config apt-setup/country select enter information manually
base-config apt-setup/hostname string http.us.debian.org
base-config apt-setup/directory string /debian
# Den Dialog nach der Auswahl des Mirrors beenden (keine weitere Paketquelle
# angeben).
base-config apt-setup/another boolean false
# Sie können wählen, ob Sie Software aus dem "non-free"- und "contrib"-Zweig
# installieren möchten.
#base-config apt-setup/non-free boolean true
#base-config apt-setup/contrib boolean true
# Sicherheitsupdates aktivieren (eine gute Idee).
base-config apt-setup/security-updates boolean true
###### Paketauswahl.
# Sie können jede Kombination der verfügbaren Programmgruppen auswählen.
# Mögliche Werte sind: (Desktop environment, Web server, Print server,
# DNS server, File server, Mail server, SQL database, manual package selection.)
# Die letzte Möglichkeit startet aptitude. Sie können auch wählen, hier gar
# nichts zu installieren und die Installation von bestimmten Paketen auf andere
# Art erzwingen.
tasksel tasksel/first multiselect Desktop environment
#tasksel tasksel/first multiselect Web server, Mail server, DNS server
###### Konfiguration des Mailsystems.
# In einer normalen Installation stellt exim nur zwei Fragen. Hier erfahren
# Sie, wie Sie auch diese noch unterdrücken können. Umfangreichere
# Voreinstellungen sind möglich.
exim4-config exim4/dc_eximconfig_configtype \
select no configuration at this time
# Es ist eine gute Idee, für diese Einstellung den Benutzernamen zu wählen,
# den Sie erstellt haben. Wenn Sie es leer lassen, bedeutet das, das
# Mails für den "postmaster" nach /var/mail/mail gehen.
exim4-config exim4/dc_postmaster string
###### Konfiguration des X-Servers.
# Die Konfiguration von Debians X-System voreinzustellen, ist möglich, aber
# Sie müssen dazu einige Details über die Video-Hardware des Rechners kennen,
# da Debians X-Konfigurationsprogramm nicht in jedem Fall eine vollautomatische
# Konfiguration durchführen kann.
# X kann den richtigen Treiber für einige Grafikkarten erkennen, aber wenn
# Sie eine Voreinstellung treffen, überschreiben Sie diese Auswahl. Vesa
# sollte aber in den meisten Fällen funktionieren.
#xserver-xfree86 xserver-xfree86/config/device/driver select vesa
# Das Problem mit der automatischen Mauserkennung ist: wenn es schief geht,
# wird X es wieder und wieder versuchen. Wenn also automatische Erkennung
# voreingestellt ist, besteht die Gefahr einer Endlosschleife, falls die
# Maus nicht erkannt werden kann.
#xserver-xfree86 xserver-xfree86/autodetect_mouse boolean true
# Die automatische Erkennung des Monitors wird empfohlen.
xserver-xfree86 xserver-xfree86/autodetect_monitor boolean true
# Entfernen Sie hier das Kommentarzeichen, wenn Sie ein LCD-Display haben.
#xserver-xfree86 xserver-xfree86/config/monitor/lcd boolean true
# Die X-Konfiguration bietet drei mögliche Wege für die Konfiguration des
# Monitors. Dies ist die Voreinstellung für "medium", was immer verfügbar ist.
# Der einfache Weg ("simple") ist nicht immer verfügbar und "advanced"
# (erweitert) stellt zu viele Fragen.
xserver-xfree86 xserver-xfree86/config/monitor/selection-method \
select medium
xserver-xfree86 xserver-xfree86/config/monitor/mode-list \
select 1024x768 @ 60 Hz
###### Alles andere; der Rest.
# Abhängig davon, welche Software Sie zur Installation auswählen oder ob
# Dinge während des Installationsprozesses schief laufen, ist es möglich,
# dass weitere 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
# Wenn Sie mögen, können Sie hier weitere Voreinstellungs-Dateien in diese
# Datei integrieren. Jegliche Einstellungen in diesen Dateien werden die
# Werte aus dieser Datei überschreiben. Es können mehr als eine Datei angegeben
# werden, getrennt durch Leerzeichen; alle werden geladen. Die integrierten
# Dateien können ebenfalls wieder "preseed/include"-Regeln enthalten.
# Bedenken Sie: wenn Sie relative Dateipfade angeben, gehen diese von dem
# gleichen Verzeichnis aus, wie die Voreinstellungs-Datei, in der sie integriert
# sind.
#d-i preseed/include string x.cfg
# Der flexiblere Weg: dies startet ein Shell-Kommando und wenn dies die Namen
# von Voreinstellungs-Dateien zurückgibt, werden Sie integriert. Ein Beispiel:
# um zwischen Konfigurationen umzuschalten in Abhängigkeit von einem bestimmten
# USB-Speicher-Gerät (in diesem Fall ein eingebauter Kartenleser) nutzen Sie:
#d-i preseed/include_command string \
# if $(grep -q "GUID: 0aec3050aec305000001a003" /proc/scsi/usb-storage-*/*); \
# then echo kraken.cfg; else echo otherusb.cfg; fi
|