32.6. Prä-Installationsskript
Sie können Befehle hinzufügen, die auf dem System unmittelbar nach der Analyse der Datei
ks.cfg
ausgeführt werden sollen. Dieser Abschnitt muss an das Ende der Kickstart-Datei nach den in Abschnitt 32.4, »Kickstart-Optionen« beschriebenen Befehlen eingefügt werden und muss mit dem Befehl %pre
starten. Falls Ihre Kickstart-Datei auch einen %post
-Abschnitt enthält, so ist die Reihenfolge der %pre
- und %post
-Abschnitte egal.
Sie können im
%pre
-Abschnitt auf das Netzwerk zugreifen; allerdings ist der name service an diesem Punkt noch nicht konfiguriert, so dass nur IP-Adressen funktionieren.
Anmerkung
Das Prä-Installationsskript wird nicht in der chroot-Umgebung ausgeführt.
--interpreter /usr/bin/python
- Ermöglicht es Ihnen, eine andere Skript-Sprache anzugeben, wie z.B. Python. Ersetzen Sie /usr/bin/python durch die Skript-Sprache Ihrer Wahl.
32.6.1. Beispiel
Hier ein Beispiel für einen
%pre
-Abschnitt:
%pre #!/bin/sh hds="" mymedia="" for file in /proc/ide/h* do mymedia=`cat $file/media` if [ $mymedia == "disk" ] ; then hds="$hds `basename $file`" fi done set $hds numhd=`echo $#` drive1=`echo $hds | cut -d' ' -f1` drive2=`echo $hds | cut -d' ' -f2` #Write out partition scheme based on whether there are 1 or 2 hard drives if [ $numhd == "2" ] ; then #2 drives echo "#partitioning scheme generated in %pre for 2 drives" > /tmp/part-include echo "clearpart --all" >> /tmp/part-include echo "part /boot --fstype ext3 --size 75 --ondisk hda" >> /tmp/part-include echo "part / --fstype ext3 --size 1 --grow --ondisk hda" >> /tmp/part-include echo "part swap --recommended --ondisk $drive1" >> /tmp/part-include echo "part /home --fstype ext3 --size 1 --grow --ondisk hdb" >> /tmp/part-include else #1 drive echo "#partitioning scheme generated in %pre for 1 drive" > /tmp/part-include echo "clearpart --all" >> /tmp/part-include echo "part /boot --fstype ext3 --size 75" >> /tmp/part-include echo "part swap --recommended" >> /tmp/part-include echo "part / --fstype ext3 --size 2048" >> /tmp/part-include echo "part /home --fstype ext3 --size 2048 --grow" >> /tmp/part-include fi
Dieses Skript bestimmt die Anzahl der Festplatten im System und schreibt eine Textdatei mit einem unterschiedlichen Partitionsschema je nachdem, ob es ein oder zwei Festplatten besitzt. Statt eine Reihe von Partitionsbefehlen in der Kickstart-Datei zu haben, nehmen Sie folgende Zeile mit auf:
%include /tmp/part-include
Die Befehle zur Partitionierung, die im Skript ausgewählt wurden, werden verwendet.
Anmerkung
Der Prä-Installationsskript-Abschnitt von Kickstart kann nicht mehrere Installationsbäume oder Quellmedien verwalten. Diese Information muss für jede erstellte ks.cfg-Datei eingebunden werden, da das Prä-Installationsskript während der zweiten Stufe des Installationsprozesses ausgeführt wird.