Show Table of Contents
32.6. 前置安裝 Script
在剖析
ks.cfg 之後,您可以馬上在系統上新增指令並執行。您必須在 kickstart 檔案(指令之後)的最後,並且與 %pre 指令一同啟始、%end 結束(如〈節 32.4, “Kickstart 的選項”〉所述)。如果您的 kickstart 檔案也包括了 %post 一節,那麼 %pre 與 %post 的順序就無關宏旨。
您可以在
%pre 部份中存取網路;然而,由於此時尚未設定 name service,因此您只能輸入 IP 位址。
注意
前置安裝 script 不會在更改 root 目錄的環境下(chroot)執行。
--interpreter /usr/bin/python- 您可以指定一個不同的 script 語言,例如 Python。請以您所希望使用的 script 語言取代 /usr/bin/python。
32.6.1. 前置安裝 script 的範例
以下是
%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 "zerombr" >> /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 %end
此 script 會決定系統上的硬碟數量,並以不同的磁碟分割機制來寫入一個文字檔案(取決於有一個還是兩個硬碟)。您可以不用在 kickstart 檔案中指定一組磁碟分割指令,只需要將以下這行加入即可:
%include /tmp/part-include
使用了在 script 中所選的分割指令。
注意
kickstart 的前置安裝 script 無法管理多重安裝樹或來源媒介。這項資訊必須包括在每個已建立的 ks.cfg 檔案中,因為前置安裝 script 會在安裝過程中的第二階段出現。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.