Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

31.7. インストール後のスクリプト

インストールが完了したら、システムで実行するコマンドを追加するオプションがあります。このセクションはキックスタートファイルの末尾にある必要があり、%post コマンドで開始する必要があります。このセクションは、追加のソフトウェアのインストールや追加のネームサーバーの設定などの機能に役立ちます。
注記
ネームサーバーを含む静的 IP 情報でネットワークを設定している場合は、ネットワークにアクセスして、%post セクションで IP アドレスを解決できます。ネットワークを DHCP 用に設定した場合、インストールで %post セクションを実行すると、/etc/resolv.conf ファイルは完了していません。ネットワークにはアクセスできますが、IP アドレスは解決できません。したがって、DHCP を使用している場合は、%post セクションに IP アドレスを指定する必要があります。
注記
インストール後のスクリプトは chroot 環境で実行するため、インストールメディアからスクリプトや RPM をコピーするなどの作業は機能しません。
--nochroot
chroot 環境外で実行するコマンドを指定できます。
以下の例では、ファイル /etc/resolv.conf をインストールされたばかりのファイルシステムにコピーします。
%post --nochroot 
cp /etc/resolv.conf /mnt/sysimage/etc/resolv.conf
--interpreter /usr/bin/python
Python などの別のスクリプト言語を指定できます。/usr/bin/python は、任意のスクリプト言語に置き換えます。
--log /path/to/logfile
インストール後のスクリプトの出力をログに記録します。ログファイルのパスは、--nochroot オプションを使用しているかどうかを考慮に入れる必要があることに注意してください。--nochroot がない場合の例を示します。
このコマンドは、Red Hat Enterprise Linux 5.5 以降で利用できます。
%post --log=/root/ks-post.log
--nochroot:
%post --nochroot --log=/mnt/sysimage/root/ks-post.log

31.7.1. 例

--log オプションを使用して(Red Hat Enterprise Linux 5.5 以降)結果をログに記録することで、システムを Subscription Asset Manager サーバーに登録します。
%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
NFS 共有から runme という名前のスクリプトを実行します。
mkdir /mnt/temp 
mount -o nolock 10.10.0.2:/usr/new-machines /mnt/temp open -s -w -- 
/mnt/temp/runme 
umount /mnt/temp
注記
キックスタートモードでは NFS ファイルのロックに対応して いない ため、NFS マウントをマウントする際に -o nolock が必要になります。