Ubuntu unattended Installation
Ich habe mich diese Woche damit beschäftigt wie man Ubuntu Installieren kann ohne das man die ganzen Angaben händisch machen kann. Die Lösung liegt in einer Installation via pxe und einer preseed Datei.
Der Rechner bekommt dabei die ganzen Dateien via Netzwerk. Der Installer wird via pxe geladen und die preseed Datei via HTTP.
Man braucht dafür also eine PXE Installationsumgebung die man am besten nach dieser Anleitung einrichtet.
Dazu braucht man noch einen HTTP Server, Anleitung findet sich hier.
Zu den Installationen muss man folgende Anpassungen mache:
Die /var/lib/tftpboot/pxelinux.cfg/default Datei so anpassen das es einen Eintrag gibt der wie folgt aussieht:
LABEL cli
kernel ubuntu-installer/i386/linux
append tasks=standard vga=normal pkgsel/language-pack-patterns= pkgsel/install-language-support=false initrd=ubuntu-installer/i386/initrd.gz locale=de_DE console-setup/layoutcode=de netcfg/wireless_wep= netcfg/choose_interface=eth1 netcfg/get_hostname=ubuntu preseed/url=http://172.23.43.2/preseed.cfg --Wichtig ist das alles in der append Zeile in einer Zeile steht.
Zu den einzelnen Paramtern:
- tasks=standard steht dafür das wir nur ubuntu-minimal installieren wollen
- locale=de_DE setzt die locale für das System
- console-setup/layoutcode=de setzt das Tastaturlayout
- netcfg/choose_interface=eth1 legt fest welche Netzwerkkarte genutzt werden soll, in der Regel eth0
- netcfg/get_hostname=ubuntu setzt den Hostname
- preseed/url=http://172.23.43.2/preseed.cfg gibt an wo die preseed.cfg Datei liegt.
Die restlichen Einstellungen habe ich so gelassen wie sie sind.
Wenn man will das man beim booten nicht mehr cli eingeben muss ändert man noch DEFAULT auf cli und setzt TIMEOUT 10.
Achtung dies sorgt dafür das jeder Rechner der via PXE bootet neu installiert wird!
Ich persönlich setzen den TIMEOUT auf 0, dann muss man das ganze noch einmal mit ENTER bestätigen.
Außer diesen Änderungen braucht man nur noch eine preseed Datei.
Ich habe meine hier hochgeladen. Ich habe mich bemüht ein paar Kommentare zuschreiben.
Die preseed Datei macht folgendes:
- locales auf de_DE.UTF-8 setzten
- Tastaturlayout auf de setzen
- Apt so einrichten das alles von meinem lokalen Apt-proxy geladen wird
- Uhr auf UTC setzen
- Zeitzone Europa/Berlin
- Zeitserver time.fu-berlin.de
- Festplatte mit lvm einrichten, wobei home und root eigene Volumes bekommen
- multiverse und universe deaktiveren
- User ubuntu mit dem Passwort ubuntu anlegen
- SSH Server und vim installieren
- Grub in den MBR installieren
- Ein post-install Skript runterladen und ausführen. Ich installiere darüber nur die Updates
- System neustarten
Hier noch ein paar Link die mir geholfen haben:
- http://www.debuntu.org/how-to-unattended-ubuntu-network-install
- http://tylerlesmann.com/2008/jul/06/fun-preseed/
- https://help.ubuntu.com/8.04/installation-guide/i386/appendix-preseed.html
Vielen Dank auch an Colin Watson für seine Hilfe im IRC.

