Debian Installation durch preseeding automatisieren

Bei der Installation eines Debian System werden einige Werte abgefragt für die es nach einiger Zeit persönliche Standardantworten gibt. Damit man diese Standardantworten automatisiert beantworten kann gibt es im Debian den Mechanismus des preseedings.

Hier meine Schritte wie ich für mich eine gute Nutzung eingerichtet haben. Vor allem dieses Dokument war eine grosse Hilfe.

Zuerst muss auf einem Webserver an einer bestimmten Stelle eine Datei abgelegt werden welche die Vorgaben für die Installation enthält

cd /var/www/
mkdir d-i
mkdir d-i/wheezy
vi d-i/wheezy/preseed.cfg 

In dieser preseed.cfg stehen die “Antworten” auf die Fragen welche im Rahmen der Installation gestellt werden. Die unten angehängte Datei installiert ein minimales System. Ausgenommen sind:

  • Host- und Domain Name
  • Festplatten Partioninierung
  • Grub

Jetzt muss noch der PXE Konfiguration auf dem TFTP Server beigebracht werden auch diese “Antwortdatei” zu verwenden. (In diesem Fall wird kein Boot Menü verwendet sondern direkt in die Installation gebootet)

vi pxelinux.cfg/default

 default auto
 label   auto
 kernel  debian-installer/i386/linux
 append  initrd=debian-installer/i386/initrd.gz auto=true url=**Webserver IP**

Hier die Preseed.cfg USE AT YOUR OWN RISK

#### Contents of the preconfiguration file (for wheezy)
### Localization
# Preseeding only locale sets language, country and locale.
d-i debian-installer/locale string en_US
d-i debian-installer/keymap string us
d-i keymap  string us

# netcfg will choose an interface that has link if possible. This makes it
# skip displaying a list if there is more than one interface.
d-i netcfg/choose_interface select auto

### Mirror settings
d-i mirror/country             string   manual
d-i mirror/http/hostname       string   ftp.de.debian.org
d-i mirror/http/directory      string   /debian
d-i mirror/http/proxy          string   http://apt-cache-server.:3142

### Account setup
# Skip creation of a root account (normal user account will be able to
# use sudo).
d-i passwd/root-login boolean false

# To create a normal user account.
d-i passwd/user-fullname string Hagen Bauer
d-i passwd/username string hbauer
d-i passwd/user-password password geheim
d-i passwd/user-password-again password geheim

### Clock and time zone setup
d-i clock-setup/utc boolean true
d-i time/zone string US/Eastern

# Controls whether to use NTP to set the clock during the install
d-i clock-setup/ntp boolean true

## Partitioning MANUALLY

### Apt setup
d-i apt-setup/services-select multiselect security, updates
d-i apt-setup/security_host string security.debian.org

### Package selection
tasksel tasksel/first multiselect minimal
d-i pkgsel/include string openssh-server
d-i pkgsel/upgrade select none

popularity-contest popularity-contest/participate boolean false

### Finishing up the installation
d-i finish-install/reboot_in_progress note

# This is how to make the installer shutdown when finished, but not reboot into the installed system.
d-i debian-installer/exit/halt boolean true
#d-i debian-installer/exit/poweroff boolean true