23.2. 如何执行 Kickstart 安装?

Kickstart 安装可以使用本地 DVD、本地硬盘驱动器、或通过 NFS、FTP、HTTP、HTTPS 执行。
要使用 Kickstart ,则必须:
  1. 创建 Kickstart 文件。
  2. 在可移动介质、硬盘或者网络位置可使用该 Kickstart 文件。
  3. 生成引导介质,用来启动安装。
  4. 使安装源可用。
  5. 开始 Kickstart 安装。
本章详细解释了这些步骤。

23.2.1. 生成 Kickstart 文件

Kickstart 文件本身是一个纯文本文件,包含在 第 23.3 节 “Kickstart 语法参考” 列出的可作为安装指令的关键字。任何可将文件保存为 ASCII 文本的文本编辑程序,比如 Linux 系统中的 Gedit 或者 vim,以及 Windows 系统中的 Notepad,都可以用来生成和编辑 Kickstart 文件。Kickstart 配置的文件名无关紧要,但建议使用简单的名称,因为需要在其他配置文件或对话中指定这个名称。
推荐用来生成 Kickstart 文件的方法是在系统中首先执行一次手动安装。安装完成后,安装程序中的所有选择都会保存到名为 anaconda-ks.cfg 的文件中,该文件位于所安装系统的 /root/ 目录下。然后可以复制这个文件,根据需要进行修改,并在以后的安装中使用得到的配置文件。

重要

如果您有红帽客户门户网站帐户,则可以使用 Access Labs https://access.redhat.com/labs/kickstartconfig/ 中的 Kickstart Configuration Tool。这个工具将带您完成基本配置,并可让您下载得到的 Kickstart 文件。但还没有任何高级分区支持这个工具。
创建 Kickstart 文件的图形化工具 Kickstart Configurator 仍可以继续使用,但不再提供更新,不会体现 Red Hat Enterprise Linux 6 和 7 之间的 Kickstart 句法变化。
生成 Kickstart 文件后请考虑以下要求:
  • 每部分必须按顺序指定。除非特别说明,每部分内的项目则不必按序排列。各部分的顺序为:

    重要

    %addon%packages%pre%post 部分必须以 %end 结尾,否则安装程序会拒绝 Kickstart 文件。
  • 可省略不必需的项目。
  • 请忽略安装程序中所有会提示回答问题的项目,因为在典型安装中不会提示用户回答。给出答案后,安装继续自动进行(除非找到另一个缺失的项目)。
  • 以井字(也称数字)符号(#)开始的行将被视为注释行,并忽略。

23.2.2. 确认 Kickstart 文件

生成定制 kickstart 文件时,请在使用该文件进行安装前确认其是否有效。Red Hat Enterprise Linux 7 包含 ksvalidator 命令行程序,可使用该程序进行确认。这个工具是 pykickstart 软件包的一部分。要安装这个软件包,请作为 root 执行以下命令:
# yum install pykickstart
安装该软件包后,可以很使用以下命令验证 Kickstart 文件:
$ ksvalidator /path/to/kickstart.ks
使用您要验证的 Kickstart 文件路径替换 /path/to/kickstart.ks
有关这个工具的详情请查看 ksvalidator(1) man page。

重要

请记住这个验证工具有其局限性。Kickstart 文件可能会很复杂;ksvalidator 可保证其语法正确,且该文件不包含淘汰的选项,但它无法保证安装会成功。它也不会尝试验证 Kickstart 文件的 %pre%post%packages 部分。

23.2.3. 如何使 Kickstart 文件可用

Kickstart 文件必须位于以下几个位置之一:
  • 可移动介质中,如 DVD 或者 USB 盘中
  • 在连接到安装系统的硬盘
  • 在安装系统可到达的网络共享
通常是将 Kickstart 文件复制到可移动介质或者硬盘中,也可以通过网络使用。将该文件放在一个网络位置是对 Kickstart 安装常规方法的补充,即可通过网络:使用 PXE 服务器引导系统;从网络共享中下载 Kickstart 文件;以及从远程库中下载该文件中指定的软件包。
使 Kickstart 文件可用并可从安装系统中获取,这与使安装源可用有同样的效果,只是由 Kickstart 文件替换安装 ISO 映像或者树。完整步骤请查看 第 2.3 节 “准备安装源”

注意

要不指定 inst.ks= 引导选项就自动载入 Kickstart 文件,请将该文件命名为 ks.cfg,并放在标记为 OEMDRV 的存储卷中。

23.2.4. 使安装源可用

Kickstart 安装必须进入安装源方可安装系统所需软件包。该安装源可以是完整 Red Hat Enterprise Linux 安装 DVD ISO 映像,也可以是安装树。安装树是二进制 Red Hat Enterprise Linux DVD 的拷贝,二者目录结构相同。
如果您要使用光盘安装,请在开始 Kickstart 安装前将 Red Hat Enterprise Linux 安装光盘插入计算机。有关使用 Red Hat Enterprise Linux 光盘作为安装源的详情请查看 第 2.3.1 节 “DVD 中的安装源”
如果要执行硬盘安装(可以使用硬盘,也可以是 USB 盘),请保证在计算机的硬盘中有二进制 Red Hat Enterprise Linux DVD 的 ISO 映像。有关使用硬盘作为安装源的详情请查看 第 2.3.2 节 “硬盘中的安装源”
如果您执行基于网络的安装(NFS、FTP 或者 HTTP),请确定您的网络中有可用的安装树或者二进制 DVD ISO 映像(具体要看所使用的协议)。详情请参考 第 2.3.3 节 “网络中的安装源”

23.2.5. 启动 Kickstart 安装

要启动 Kickstart 安装,则必须在引导该系统时指定一个特殊引导选项(inst.ks=)。指定引导选项的具体方法根据系统架构的不同而有所区别,详情请查看 第 20 章 引导选项
AMD64 和 Intel 64 系统以及 IBM Power Systems 服务器可使用 PXE 服务器引导。配置 PXE 服务器时,您可以在引导装载程序配置文件中添加引导选项,这些引导选项可自动按顺序允许您启动安装。使用这个方法就可以完全自动化,其中包括引导过程。有关设置 PXE 服务器的详情请参考 第 21 章 准备网络安装
本小节中的步骤假设您已有 Kickstart 文件,且安装系统可以访问其所在位置,另外还准备好引导介质或者用来引导该系统开始安装的 PXE 服务器。这个步骤只是一般参考,根据您的系统架构,某些步骤可能会有所不同,同时不是所有选项都可用于所有架构(例如:在 IBM System z 中无法进行 PXE 引导)。

23.2.5.1. 手动启动 Kickstart 安装

本小节解释了如何手动启动 Kickstart 安装,就是说有些用户互动(比如在 boot: 提示符后添加引导选项)还是需要的。

过程 23.1. 使用引导选项启动 Kickstart 安装

  1. 使用本地介质(CD、DVD、或者 USB 盘)引导系统。具体架构步骤请参考:
  2. 在 boot 提示符后指定 inst.ks= 引导选项和 Kickstart 文件的位置。如果 Kickstart 文件在网络中,则还要使用 ip= 选项配置网络。在有些情况下还需要 inst.repo= 选项以便访问软件源,安装所需软件包。
    有关引导选项及有效语法详情,请查看 第 20 章 引导选项
  3. 确认添加的引导选项启动安装。
现在将开始使用在 Kickstart 文件中指定的选项安装。如果 Kickstart 文件有效并包含全部所需命令,则从现在开始安装将是全自动的。

23.2.5.2. 自动启动 Kickstart 安装

下面的步骤解释了如何使用网络引导 PXE 服务器和正确配置的引导装载程序,进行全面自动化 Kickstart 安装。如果按照这个步骤操作,只需要打开系统即可,到安装完成前都不需要任何互动操作。

注意

在 IBM System z 中无法使用 PXE 安装。

过程 23.2. 通过编辑引导装载程序配置启动 Kickstart 安装

  1. 打开 PXE 服务器中的引导装载程序配置文件,并在合适的行中添加 inst.ks= 引导选项。该文件的名称及句法取决于您系统的架构和硬件:
    • 在使用 BIOS 的 AMD64 和 Intel 64 系统中,该文件名称可以是 default,也可以是根据您的系统 IP 地址命名。因此,请在安装条目的 append 行中添加 inst.ks= 选项。该配置文件中 append 行示例类似如下:
      append initrd=initrd.img inst.ks=http://10.32.5.1/mnt/archive/RHEL-7/7.x/Server/x86_64/kickstarts/ks.cfg
      
    • 在使用 GRUB2 引导装载程序(使用 UEFI 的 AMD64 和 Intel 64 系统,以及 IBM Power Systems Server)中,该文件名可能是 grub.cfg。在这个文件安装条目的 kernel 行添加 inst.ks= 选项。该配置文件 kernel 行示例如下:
      kernel vmlinuz inst.ks=http://10.32.5.1/mnt/archive/RHEL-7/7.x/Server/x86_64/kickstarts/ks.cfg
      
  2. 从网络服务器引导安装。具体架构的操作步骤请查看:
现在应该可以使用在 Kickstart 文件中指定的安装选项开始安装。如果 Kickstart 文件有效,并包含全部所需命令,则安装将是全自动的。