7.6. Script de pre-instalación

Puede añadir comandos para ejecutar en el sistema automáticamente después de que ks.cfg haya sido analizado. Esta sección debe estar al final del archivo kickstart (después de los comandos) y debe comenzar con el comando %pre. Puede accesar la red en la sección %pre; sin embargo, name service no ha sido configurado en este punto, así que sólo funcionarán las direcciones IP.

NotaNota
 

Observe que el script de pre instalación no es ejecutado en el ambiente chroot.

--interpreter /usr/bin/python

Le permite especificar un lenguage de script diferente, tal como Python. Reemplace /usr/bin/python con el lenguage de scripting de su preferencia.

7.6.1. Ejemplo

He aquí un ejemplo de una sección %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-includ
  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

Este script determina el número de discos duros en el sistema y escribe un archivo de texto con un esquema de particionamiento diferente dependiendo de si tiene uno o dos discos. En vez de tener un conjunto de comandos en el archivo kickstart, incluye la línea:

%include /tmp/part-include

Serán usados los comandos de particionamiento seleccionados en el script.