1.6. インストール前のスクリプト
ks.cfg
が解析された直後に、システムで実行するコマンドを追加できます。このセクションは、キックスタートファイルの最後(コマンド後)にある必要があり、%pre コマンドで開始する必要があります。%pre セクションでネットワークにアクセスできますが、name サービス はこの時点では設定されていないため、IP アドレスのみが機能します。
備考
pre-install スクリプトは、root 環境では実行されないことに注意してください。
- --interpreter /usr/bin/python
- Python などの別のスクリプト言語を指定できます。/usr/bin/python は、任意のスクリプト言語に置き換えます。
1.6.1. 例
%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
このスクリプトはシステム内のハードドライブ数を判定して、ドライブ数が 1 台または 2 台かに合わせて、異なるパーティション設定スキームでテキストファイルを書き込みます。キックスタートファイルにパーティション設定コマンドを設定する代わりに、以下の行を追加します。
%include /tmp/part-include
スクリプトで選択したパーティション設定コマンドが使用されます。
備考
キックスタートの事前インストールスクリプトセクションは、複数のインストールツリーやソースメディアを管理 できません。インストールプロセスの 2 番目の段階でインストールスクリプトが行われるため、作成した ks.cfg ファイルごとにこの情報を含める必要があります。