Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
28.6. 前置安裝程式碼
在
ks.cfg
語法化之後,您可以新增指令並在系統上執行。您必須在 kickstart 檔案(指令之後)的最後,並且與 %pre
指令一同啟始。您可以在 %pre
存取網路,但由於此時尚未設定 name service,您只能輸入 IP 位置。
注意
請注意前置安裝程式碼無法在更改根目錄的環境下執行。
--interpreter /usr/bin/python
- 您可以指定一個不同的程式語言,例如 Python,請以您所選擇之程式語言取代 /usr/bin/python。
28.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
這個程式碼會決定系統上的硬碟數量,並以不同的磁碟分割機制來寫入一個文字檔案(依照於有一個或兩個硬碟)。您可以不用在 kickstart 檔案中指定一組磁碟分割指令,只需要將以下這行加入即可:
%include /tmp/part-include
使用了在 script 中所選的分割指令。
注意
kickstart 的前置安裝 script 無法 管理多重安裝樹或來源媒體。這個資訊必須包括在每個以建立的 ks.cfg 檔案,所以前置安裝 script 能在安裝過程中的第二階段出現。