ks.cfgを解析したらすぐにシステム上で 実行させるコマンドを追加することもできます。このセクションは 必ずキックスタートファイルの末尾(コマンド群の後)に置き、 %preコマンドで始めます。%pre セクションではネットワークにアクセスできますが、 ただし、この時点ではネームサービスが 設定されていないので、IPアドレスしか使えません。
注意 | |
---|---|
インストール前のスクリプトは、chroot環境で実行されるの ではないことに注意してください。 |
Pythonなどの異なるスクリプト言語を指定できます。 /usr/bin/python を目的の スクリプト言語に入れ換えます。
%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 |
このスクリプトはシステム内のハードドライブの数を判定して、 ドライブの数に応じて異なるパーティション設定スキムで テキストファイルを書き込みます。キックスタートファイルに パーティション設定コマンドのセットを持つ代わりに、 以下の行を含めます。
%include /tmp/part-include |
スクリプト内で選択されたパーティション設定コマンドが使用 されます。