9.6. Script de Pré-Instalação

Você pode adicionar comandos para rodar no sistema logo após o ks.cfg ser examinado. Esta seção deve estar no fim do arquivo kickstart (depois dos comandos) e deve começar com o comando %pre. Você pode acessar a rede na seção %pre; no entanto, o serviço de nome ainda não foi configurado neste ponto, portanto somente o endereço IP funcionará.

NotaNota
 

Note que o script de pré-instalação não é executado no ambiente change root.

--interpreter /usr/bin/python

Permite que você especifique uma linguagem diferente de script, como Python. Substitua /usr/bin/python pela sua linguagem de script preferida.

9.6.1. Exemplo

Veja um exemplo da seção %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

Esse script determina o número de discos rígidos do sistema e grava um arquivo texto com um esquema de particionamento diferente dependendo do número de discos (um ou dois). Ao invés de ter um conjunto de comandos de particionamento no arquivo kickstart, inclua a linha:

%include /tmp/part-include	

Os comandos de particionamento selecionados no script serão usados.