9.6. Script di pre-installazione

In questa sezione si possono aggiungere i comandi da eseguire immediatamente dopo il caricamento del file ks.cfg. Questa sezione va inserita alla fine del file kickstart (dopo i comandi) e deve iniziare con il comando %pre. Potete accedere alla rete all'interno della sezione %pre. Comunque, il servizio dei nomi non ancora stato configurato, pertanto necessario utilizzare gli indirizzi IP numerici.

NotaNota Bene
 

Lo script di pre-installazione non viene eseguito nell'ambiente di cambiamento di root.

--interpreter /usr/bin/python

Vi consente di specificare un linguaggio di scripting diverso, quale Python. Sostituite /usr/bin/python con il linguaggio di scripting da voi scelto.

9.6.1. Esempio

Ecco un esempio di una 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-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

Questo script determina il numero di dischi fissi presenti nel sistema e scrive un file di testo con un schema di partizionamento diverso a seconda che ne abbia uno o due. Invece di tenere un set di comandi di partizionamento nel file kickstart, inserite la linea:

%include /tmp/part-include	

Verranno utilizzati i comandi di partizionamento selezionati nello script.