7.7. 後續安裝程式碼

您也可以選擇增加在安裝完成後要在系統上執行的指令,這個部份必須在 kickstart 檔案的最後,而且必須以 %post 指令開頭,這個部份在例如安裝其他的軟體以及設定另一部名稱伺服器時相當好用。

注請注意
 

假如您以靜態的 IP 資訊(含有一部名稱伺服器)來設定網路,您可以在 %post 部份存取網路並且解析 IP 位址。 假如您設定網路為使用 DHCP,當安裝程式執行 %post 部份時,/etc/resolv.conf 檔案還尚未完成。 您可以存取網路,不過您無法解析 IP 位址,因此假如您使用 DHCP,您必須在 %post 部份指定 IP 位址。

注請注意
 

後續安裝的程式碼是在 chroot 的環境下執行的,因此執行例如從安裝媒體複製程式碼或 RPMs 將無法使用。

--nochroot

使您可以指定在 chroot 環境之外執行的指令。

以下的例子會複製 /etc/resolv.conf 檔案到剛安裝好的檔案系統中。

%post --nochroot
cp /etc/resolv.conf /mnt/sysimage/etc/resolv.conf
--interpreter /usr/bin/python

使您可以指定一個不同的程式語言,例如 Python,請以您所選擇的程式語言取代 /usr/bin/python

7.7.1. 範例

啟動或停止服務:

/sbin/chkconfig --level 345 telnet off
/sbin/chkconfig --level 345 finger off
/sbin/chkconfig --level 345 lpd off
/sbin/chkconfig --level 345 httpd on

從一個 NFS 的共享資源上執行一個名為 runme 的程式碼:

mkdir /mnt/temp
mount 10.10.0.2:/usr/new-machines /mnt/temp
open -s -w -- /mnt/temp/runme
umount /mnt/temp

新增一個使用者到系統中:

/usr/sbin/useradd bob
/usr/bin/chfn -f "Bob Smith" bob
/usr/sbin/usermod -p 'kjdf$04930FTH/ ' bob