32.6. Script de Pré-Instalação
Você pode adicionar comandos a serem rodados no sistema imediatamente após o
ks.cfg
ter sido lido. Esta seção deve estar presente no final do arquivo de kickstart, após os comandos descritos em Seção 32.4, “Opções do Kickstart”, e deve iniciar com o comando %pre
. Caso seu kickstart também inclua uma seção %post
, a ordem das seções %pre
,%post
não importa.
Você pode acessar a rede na seção
%pre
; no entanto, o name service não foi configurado neste ponto, portanto somente os endereços IP funcionam.
Nota
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 de script diferente, como Python. Substitua /usr/bin/python pela sua linguagem de script preferida.
32.6.1. Exemplo
Veja a seguir 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-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
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 de kickstart, inclua a linha:
%include /tmp/part-include
Os comandos de particionamento selecionados no script são usados.
Nota
A seção do script de pré-instalação do kickstart não pode lidar com múltiplas árvores de instalação ou mídias fonte. Estas informações devem ser incluídas para cada arquivo ks.cfg criado, uma vez que o script de pré-instalação ocorre durante o segundo estágio do processo de instalação.