21.3. Kickstart 文件中的脚本
kickstart 文件可以包括以下脚本:
-
%pre -
%pre-install -
%post
本节提供有关脚本的以下详情:
- 执行时间
- 可以包含在脚本中的命令类型
- 脚本的目的
- 脚本选项
21.3.1. %pre 脚本 复制链接链接已复制到粘贴板!
%pre 脚本在加载 Kickstart 文件后立即在系统中运行,但在完全解析并开始安装之前。每个部分必须以 %pre 开头并以 %end 结尾。
%pre 脚本可用于激活和配置联网和存储设备。还可以使用安装环境中提供的解释器来运行脚本。如果您在继续安装之前有需要特殊配置的联网和存储,或者具有设置其他日志参数或环境变量的脚本,则添加 %pre 脚本非常有用。
使用 %pre 脚本调试问题可能比较困难,因此建议仅在需要时使用 %pre 脚本。
Kickstart 的 %pre 部分会在安装阶段执行,该阶段发生在安装程序镜像(inst.stage2)被提取后:这意味着在 root 切换到安装程序环境(安装程序镜像)后,以及 Anaconda 安装程序本身启动 后。然后,应用 %pre 中的配置被应用,可用于从配置的安装存储库中获取软件包,例如,通过Kickstart 中的 URL。但是,它 不能 用来配置网络,来从网络提取镜像(inst.stage2)。
除了安装环境 /sbin 和 /bin 目录中的大多数实用程序外,还可在 %pre 脚本中使用与网络、存储和文件系统相关的命令。
您可以在 %pre 部分中访问网络。然而,命名服务还没有被配置,所以只能使用 IP 地址,而不能使用 URL。
pre 脚本不会在 chroot 环境中运行。
21.3.1.1. %pre 脚本部分选项 复制链接链接已复制到粘贴板!
以下选项可以用来改变预安装脚本的行为。要使用某个选项,请将其附加到脚本开头的 %pre 行中。例如:
%pre --interpreter=/usr/libexec/platform-python
-- Python script omitted --
%end
--interpreter=允许指定不同的脚本语言,如 Python。可以使用系统中可用的脚本语言;在大多数情况下,它们是
/usr/bin/sh、/usr/bin/bash和/usr/libexec/platform-python。请注意,
platform-python解释器使用 Python 版本 3.6。对于新路径和版本,您必须将您的针对以前的 RHEL 版本的 Python 脚本进行更改,以适用于新的路径和版本。另外,platform-python用于系统工具:使用安装环境之外的python36软件包。有关 Red Hat Enterprise Linux 中 Python 的详情,请查看 Python 简介。--erroronfail-
如果脚本失败,显示错误并停止安装。错误消息会指示您记录故障原因的位置。安装的系统可能会处于不稳定且无法引导的状态。您可以使用
inst.nokill选项调试脚本。 --log=将脚本的输出记录到指定的日志文件中。例如:
%pre --log=/tmp/ks-pre.log