# Debian Installation automatisieren,



## ulf123 (12. September 2008)

Hallo Leute ich hab da mal eine Frage an die Profis.

also erst mal die Vorrausetzung.

200 Hardware gleiche Rechner.

diese sollen alle mit der gleiche software nur mit andere Ip adresse aufgespielt werden.

Als OS nutze ich Debian 5

für die installation nutze ich flogendes Parameter


```
auto url=http://192.168.1.11/install/install.cfg
```
in der install.cfg stehen die einstellungen wie die installation augeführt werden soll drin.


```
# Die Locale setzt Sprache und Land.
d-i debian-installer/locale string de_DE

# Auswahl der Tastatur.
d-i console-keymaps-at/keymap select de


# Sie können eine Festplatte angeben, die partitioniert werden soll. 
d-i partman-auto/disk string /dev/discs/disc0/disc

# Zusätzlich müssen Sie angeben, welche Partitionsmethode genutzt werden
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-auto/purge_lvm_from_device boolean true

# Das gleiche gilt für die Bestätigung, die LVM-Partitionen zu schreiben.
d-i partman-lvm/confirm boolean true

# Sie können eines der vordefinierten Partitionierungsrezepte wählen:
d-i partman-auto/choose_recipe \
       select Alle Dateien auf eine Partition (für Anfänger empf.)

# Dies veranlasst partman, automatisch ohne Nachfrage zu partitionieren.
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

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

# Sie können dies auf jeden gültigen Wert für $TZ setzen
d-i time/zone string Europe/Berlin

# wenn Sie keinen NetzwerkSpiegel verwenden möchten.
d-i apt-setup/use_mirror boolean false

# Entfernen Sie hier das Kommentarzeichen, um das Hinzufügen von Quellen
# für Sicherheitsaktualisierungen zu vermeiden oder fügen Sie einen Hostnamen
# hinzu, um einen anderen Server als security.debian.org zu verwenden.
d-i apt-setup/security_host string

# Root-Passwort, entweder als Klartext ...
d-i passwd/root-password password urscreen
d-i passwd/root-password-again password urscreen

d-i passwd/user-fullname string Screen (Szp/TGA)
d-i passwd/username string screen
d-i passwd/user-password password screen
d-i passwd/user-password-again password screen

# 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, wenn auch 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

tasksel tasksel/first multiselect standard

# 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

#d-i preseed/late_command string chroot /target; apt-get install xserver -y; wget http://192.168.1.11/install/install.sh; chmod a+x install.sh; ./install.sh;

d-i preseed/late_command string echo cd /tmp >> /target/root/.bash_profile; echo wget http://192.168.1.11/install/install.sh >> /target/root/.bash_profile; echo chmod a+x install.sh >> /target/root/.bash_profile; echo ./install.sh >> /target/root/.bash_profile; chmod 644 /target/root/.bash_profile;


# Die letzte Meldung "Installation abgeschlossen" unterdrücken.
d-i finish-install/reboot_in_progress note
```
nach der Installation startet der rechner neu und mit dem login als root wird die installation mit dem script install.sh ausgeführt.


```
#!/bin/bash
apt-get install xserver -y
clear
echo " "
echo " "
echo "Starte die SzP/TGA Uraum Screen Installation..." 
echo "dies kann ca 5 Minuten dauern!!" 
sleep 3s
###########################################################
echo "- 01. Installiere die X Server Fonts" 
sleep 3s
apt-get install xfonts* -y &>/dev/null
###########################################################
echo "- 02. Installiere den Firefox" 
sleep 3s
apt-get install iceweasel -y &>/dev/null
###########################################################
echo "- 03. Installiere den die RemoteVerbindung" 
sleep 3s
apt-get install openssh-server -y &>/dev/null
###########################################################
echo "- 04. Gehe ins Verzeichnis /tmp" 
sleep 3s
cd /tmp 
###########################################################
echo "- 05. Lade Unclutter vom Server" 
sleep 3s
wget http://192.168.1.11/install/pakete/unclutter.deb &>/dev/null
###########################################################
echo "- 06. Lade Rungetty vom Server" 
sleep 3s
wget http://192.168.1.11/install/pakete/rungetty.deb &>/dev/null
###########################################################
echo "- 07. Installiere Unclutter" 
sleep 3s
dpkg -i unclutter.deb &>/dev/null
###########################################################
echo "- 08. Installiere Rungetty"
sleep 3s
dpkg -i rungetty.deb &>/dev/null
###########################################################
echo "- 09. Gehe ins Verzeichnis /home/screen" 
sleep 3s
cd /home/screen
###########################################################
echo "- 10. Lade mozilla.tar.gz vom Server" 
sleep 3s
wget http://192.168.1.11/install/pakete/mozilla.tar.gz &>/dev/null
###########################################################
echo "- 11. Entpacke mozilla.tar.gz" 
sleep 3s
tar -xzvf mozilla.tar.gz &>/dev/null
###########################################################
echo "- 12. Loesche die Datei .bash_profile" 
sleep 3s
rm /home/screen/.bash_profile
###########################################################
echo "- 13. Lade die Datei .bash_profile vom Server" 
sleep 3s
wget http://192.168.1.11/install/pakete/.bash_profile &>/dev/null
###########################################################
echo "- 14. Seztze Benutzer fuer .bash_profile" 
sleep 3s
chown screen .bash_profile &>/dev/null
###########################################################
echo "- 15. Vergebe die Rechte fuer .bash_profile" 
sleep 3s
chmod 644 .bash_profile &>/dev/null
###########################################################
echo "- 16. Gehe ins Verzeichnis /etc" 
sleep 3s
cd /etc
###########################################################
echo "- 17. Loesche die Datei inittab" 
sleep 3s
rm /etc/inittab
###########################################################
echo "- 18. Lade die Datei inittab vom Server" 
sleep 3s
wget http://192.168.1.11/install/pakete/inittab &>/dev/null
###########################################################
echo "- 19. Vergebe die Rechte fuer inittab" 
sleep 3s
chmod 644 inittab &>/dev/null
###########################################################
echo "- 20. Gehe ins Verzeichnis /etc/X11" 
sleep 3s
cd /etc/X11
###########################################################
echo "- 21. Loesche die Datei Xwrapper.config" 
sleep 3s
rm /etc/X11/Xwrapper.config
###########################################################
echo "- 22. Lade die Datei Xwrapper.config vom Server" 
sleep 3s
wget http://192.168.1.11/install/pakete/Xwrapper.config &>/dev/null
###########################################################
echo "- 23. Vergebe die Rechte fuer Xwrapper.config" 
sleep 3s
chmod 644 Xwrapper.config &>/dev/null
###########################################################
echo "- 24. Loesche die Datei xorg.conf" 
sleep 3s
rm /etc/X11/xorg.conf


###########################################################
echo "- 25. Lade die Datei xorg.conf vom Server" 
sleep 3s
wget http://192.168.1.11/install/pakete/xorg.conf &>/dev/null
###########################################################
echo "- 26. Vergebe die Rechte fuer xorg.conf" 
sleep 3s
chmod 644 xorg.conf &>/dev/null
###########################################################
echo "- 27. Loesche den Setup Autostart" 
sleep 3s
rm /root/.bash_profile
###########################################################
echo "- 28. Grundinstallation des ScreenTerminals ist fertig!!"
sleep 3s
echo " Die weiteren Schritte entnehmen Sie bitte der Anleitung "
eject /cdrom 
echo "Entnehmen Sie bitte die CD-Rom aus dem Laufwerk"
echo "Starte das System neu!"
sleep 5s
reboot
```
so wenn das ausgeführt wurde ist das System fertig.

meine Problem ist nur das mir das ganze zu aufwendig ist somal nicht immer der server zurverfügung steht.

meine Frage nun. ist es möglich die ganze installation auf eine CD zupacken?

danke für eure hilfe

MfG 

Ulf


----------



## exitboy (7. November 2008)

Deine Idee ist sicher clever, mir kommt jedoch nen ganz anderer Gedanke in den Kopf.
Warum erstellst Du nich ein Image und verteils das auf die besagten 200 Rechhner. Die installationen in der Form wuerden entfallen, du muesstest dann nur noch die IPs changen und hast fuer Notfaelle sogar ne Recovery im Netz rumlungern


----------

