9.7. 安装后脚本

你可以添加系统在安装完成后要运行的命令。这一节必须位于 kickstart 文件的结尾处,而且必须以 %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 替换成你想使用的脚本语言。

9.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