Menu Close
Settings Close

Language and Page Formatting Options

A.3. Kickstart 文件中的脚本

kickstart 文件可以包括以下脚本:

  • %pre
  • %pre-install
  • %post

本节提供有关脚本的以下详情:

  • 执行时间
  • 可以包含在脚本中的命令类型
  • 脚本的目的
  • 脚本选项

A.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 环境中运行。

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