32.6. Script di pre-installazione

È possibile aggiungere i comandi da eseguire sul sistema immediatamente dopo che ks.cfg è stato analizzato. Questa sezione deve trovarsi alla fine del file di kickstart dopo i comandi descritti in Sezione 32.4, «Opzioni di kickstart» e deve iniziare con il comando %pre. Se il file kickstart include una sezione %post, l'ordine delle sezioni %pre e %post non ha alcuna importanza.
È possibile accedere alla rete nella sezione %pre; tuttavia name service è stato configurato qui, per questo motivo solo gli indirizzi IP potranno funzionare.

Nota

Notare che lo script di pre-installazione non viene eseguito nel cambiare ambiente di root.
--interpreter /usr/bin/python
Consente di specificare un linguaggio di scripting diverso, quale Python. Sostituire /usr/bin/python con il linguaggio di scripting scelto.

32.6.1. Esempio

Esempio della sezione %pre:
%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
Questo script determina il numero di hard drive presenti nel sistema e scrive un file di testo con uno schema di partizionamento diverso a seconda che ne abbia uno o due. Invece di tenere un set di comandi di partizionamento nel file kickstart, inserire la linea:
%include /tmp/part-include
Vengono usati i comandi di partizionamento selezionati nello script.

Nota

La sezione dello script di pre-installazione di kickstart non può gestire alberi d'installazione multipli o media sorgente. Queste informazioni devono essere incluse per ogni file ks.cfg creato, poichè lo script di pre-installazione si verifica durante la seconda fase del processo d'installazione.