你可以添加系统要在解析 ks.cfg 文件之后立即运行的命令。这一节必须位于 kickstart 文件的结尾处(在命令之后),而且必须以 %pre 命令开头。注意,你在 %pre 部分可以访问网络;然而,名称服务(name service)在此时还没有被配置,因此只有 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 |
该脚本判定系统上的硬盘驱动器的数量,并根据系统上有一个还是两个驱动器而编写带有不同分区方案的文本文件。与其在 kickstart 文件中有一组分区命令,你可以包括以下行:
%include /tmp/part-include |
在脚本中选择的分区命令会被使用。