32.6. Script de pré-installation

Vous pouvez ajouter des commandes à exécuter sur le système immédiatement après l'analyse de ks.cfg. Cette section doit se trouver à la fin du fichier kickstart après les commandes décrites dans la Section 32.4, « Options de kickstart », et doit commencer avec la commande %pre. Si votre fichier kickstart inclut aussi une section %post, l'ordre des sections %pre et %post n'importera pas.
Vous pouvez accéder au réseau dans la section %pre. Cependant, le service des noms (name service) n'a pas encore été configuré ; ainsi, seules les adresses IP fonctionneront.

Note

Le script de pré-installation n'est pas exécuté dans l'environnement chroot.
--interpreter /usr/bin/python
Permet de spécifier un autre langage de script, tel que Python. Remplacez /usr/bin/python par le langage de script de votre choix.

32.6.1. Exemple

Voici un exemple de section %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
Ce script détermine le nombre de disques durs présents sur le système et enregistre un fichier texte avec un schéma de partitionnement différent s'il dispose d'un ou de deux disques. Au lieu d'avoir un ensemble de commandes de partitionnement dans le fichier kickstart, incorporez la ligne :
%include /tmp/part-include
Les commandes de partitionnement sélectionnées dans le script sont utilisées.

Note

La section du script pré-installation de kickstart ne peut pas gérer plusieurs arborescences d'installation ou supports sources. Ces informations doivent être incluses pour chaque fichier ks.cfg crée, vu que le script pré-installation se produit durant la seconde étape du processus d'installation.