Show Table of Contents
32.7. 後續安裝 Script
您也可以選擇增加在安裝完成後要在系統上執行的指令,這個部份必須位於 kickstart 檔案的最後(如〈節 32.4, “Kickstart 的選項”〉所述),而且必須以
%post 指令作為起始、以 %end 結束。如果您的 kickstart 檔案也包括了 %pre 一節,那麼 %pre 與 %post 的順序就無關宏旨。
此部份在安裝額外的軟體,以及設定另一部名稱伺服器時相當好用。
注意
如果您以靜態的 IP 資訊(含有一部名稱伺服器)來設定網路,您可以在
%post 部份存取網路並且解析 IP 位址。如果您設定網路為使用 DHCP,當安裝程式執行 %post 部份時,/etc/resolv.conf 檔案還尚未完成。您可以存取網路,不過您無法解析 IP 位址,因此如果您正在使用 DHCP,您必須在 %post 部份指定 IP 位址。
注意
後續安裝的 script 會在 chroot 環境下執行;因此將無法執行如從安裝媒體複製 script 或 RPM 之類的工作項目。
--nochroot- 讓您可以指定您希望在 chroot 環境之外執行的指令。以下範例將會複製
/etc/resolv.conf檔案到剛安裝好的檔案系統中。%post --nochroot cp /etc/resolv.conf /mnt/sysimage/etc/resolv.conf
--interpreter /usr/bin/python- 您可以指定一個不同的 script 語言,例如 Python。請以您所希望使用的 script 語言取代 /usr/bin/python。
--log /path/to/logfile- 紀錄後續安裝 script 的輸出。請注意,您必須使用日誌檔案的路徑,無論您是否使用
--nochroot選項。比方說,若沒使用--nochroot選項的話:%post --log=/root/ks-post.log
使用--nochroot:%post --nochroot --log=/mnt/sysimage/root/ks-post.log
32.7.1. 範例
32.7.1.1. 註冊,然後掛載 NFS 共享目錄
向 Red Hat 訂閱管理伺服器註冊系統(在此例子中,是本地的訂閱資產管理員伺服器):
%post --log=/root/ks-post.log /usr/sbin/subscription-manager register --username=admin@example.com --password=secret --serverurl=sam-server.example.com --org="Admin Group" --environment="Dev" %end
從一個 NFS 的共享資源上執行一個名為
runme 的 script:
mkdir /mnt/temp mount -o nolock 10.10.0.2:/usr/new-machines /mnt/temp openvt -s -w -- /mnt/temp/runme umount /mnt/temp
Kickstart 模式中並不支援 NFS 檔案鎖定,因此在掛載 NFS 時需要
-o nolock。
32.7.1.2. 在 RHN Classic 中註冊系統
rhnreg_ks 指令是用來向 Red Hat Network 註冊的工具程式,用於非互動式環境中(例如 Kickstart 式的安裝)。所有資訊可以在命令列或標準輸入(stdin)中指定。您已建立了啟動金鑰,並想透過金鑰註冊系統時,請使用此指令。
關於使用
rhnreg_ks 來自動註冊系統的詳情,請參閱〈知識庫文章〉。
32.7.1.3. 以 Post-Install script 方式執行 subscription-manager
subscription-manager 命令列 script 會向 Red Hat 註冊管理伺服器(客戶入口網站訂閱管理、訂閱資產管理員、或 CloudForms System Engine)註冊系統。這 script 也可以用來自動指定或「連接」系統與最適用於此系統的訂閱服務。
向客戶入口網站註冊時,請使用 Red Hat Network 的登入帳號。向訂閱資產管理員或 CloudForms System Engine 註冊時,請使用本地管理員所建立的使用者帳號。
註冊指令可以搭配額外選項,設定系統偏好的服務等級,並限制更新檔與勘誤套用至指定的作業系統版本。
%post --log=/root/ks-post.log /usr/sbin/subscription-manager register --username=admin@example.com --password=secret --serverurl=sam-server.example.com --org="Admin Group" --environment="Dev" --servicelevel=standard --release="6.6" %end
欲知使用 subscription-manager 的詳情,請參閱〈知識庫文章。

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.