30.7. Post-installation Script
You have the option of adding commands to run on the system once the installation is complete. This section must be at the end of the kickstart file and must start with the %post
command. This section is useful for functions such as installing additional software and configuring an additional nameserver.
Note
If you configured the network with static IP information, including a nameserver, you can access the network and resolve IP addresses in the %post
section. If you configured the network for DHCP, the /etc/resolv.conf
file has not been completed when the installation executes the %post
section. You can access the network, but you can not resolve IP addresses. Thus, if you are using DHCP, you must specify IP addresses in the %post
section.
Note
The post-install script is run in a chroot environment; therefore, performing tasks such as copying scripts or RPMs from the installation media do not work.
-
--nochroot
-
Allows you to specify commands that you would like to run outside of the chroot environment.
The following example copies the file /etc/resolv.conf
to the file system that was just installed.
%post --nochroot cp /etc/resolv.conf /mnt/sysimage/etc/resolv.conf
-
--interpreter
/usr/bin/python
-
Allows you to specify a different scripting language, such as Python. Replace
/usr/bin/python
with the scripting language of your choice.
Register the system to a Red Hat Network Satellite:
%post
( # Note that in this example we run the entire %post section as a subshell for logging.
wget -O- https://proxy-or-sat.example.com/pub/bootstrap_script | /bin/bash
/usr/sbin/rhnreg_ks --activationkey=
<activationkey>
# End the subshell and capture any output to a post-install log file.
) 1>/root/post_install.log 2>&1
Run a script named runme
from an NFS share:
mkdir /mnt/temp
mount -o nolock 10.10.0.2:/usr/new-machines /mnt/temp open -s -w --
/mnt/temp/runme
umount /mnt/temp
Note
NFS file locking is
not
supported while in kickstart mode, therefore -o nolock
is required when mounting an NFS mount.