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.