9.6. Pre-Installations-Skript

Sie können Befehle hinzufügen, die direkt nach der Analyse von ks.cfg im System ausgeführt werden. Dieser Abschnitt muss sich am Ende der Kickstart-Datei befinden (nach den Befehlen) und mit dem Befehl %pre beginnen. Im Abschnitt %pre können Sie auf das Netzwerk zugreifen. Allerdings wurde Name-Service bisher noch nicht konfiguriert, so dass nur IP-Adressen funktionieren.

AnmerkungAnmerkung
 

Das Pre-Installations-Skript 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.

9.6.1. Beispiel

Hier ein Beispiel für ein %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

Dieses Skript bestimmt die Anzahl der Laufwerke im System und schreibt eine Textdatei mit einem unterschiedlichen Partitionsschema je nachdem, ob es ein oder zwei Laufwerke besitzt. Statt eine Reihe von Partitionsbefehlen in der Kickstart-Datei zu haben, nehmen Sie folgende Zeile mit auf:

%include /tmp/part-include	

Die im Skript gewählten Partitionsbefehle werden verwendet.