Documentation for a newer release is available. View Latest

使用Kickstart进行自动化安装

Kickstart安装方式提供了一种要么半自动化安装、要么全自动化安装的过程的含义。Kickstart文件包含了安装程序一般会涉及到的所有问题的答案,例如你想令操作系统使用哪种时区、硬盘应该如何分区或者需要安装哪些软件包等等。当安装过程开始时提供一个准备好的Kickstart文件,那之后它就允许你进行自动化的安装过程,而无需用户的人工干预。这对在大量操作系统上一次性部署Fedora尤其有用。

所有Kickstart脚本和它们执行时的日志文件都被存放于`/tmp`目录下,以帮助调试安装时出现的问题。

如何进行Kickstart安装

Kickstart安装可以使用本地DVD、本地硬盘、NFS、FTP、HTTP或者HTTPS来进行。

要使用Kickstart,你必须:

  1. 创建一个Kickstart文件。

  2. 创建启动媒体,或者配置一个网络启动(PXE)服务器,以在安装开始时被使用。

  3. 使你的Kickstart文件在可移动媒介、硬盘或者网络位置可用。

  4. 通过启动安装器的方式来启动Kickstart安装,并且使用一个启动方式来告诉安装器在哪里能够找到Kickstart文件。

本章详细解释了这些步骤。

创建一个Kickstart文件

Kickstart文件自身是一个纯文本文件,包含的关键字位列于Kickstart 语法参考,被认为是安装的方式。任何文本编辑器都可以使用ASCII文本格式来创建或保存Kickstart文件(例如Linux操作系统上的[application]*Gedit*或者[application]*vim*应用,和Windowsx操作系统上的[application]*Notepad*应用)。

创建Kickstart的一种推荐的方式是先进行一次手动安装。在手动安装完成后,在安装过程中做出的所有选项都会被保存到一个文件`anaconda-ks.cfg`当中,此文件位于安装好的操作系统中的`/root/`目录下。你在安装完成之后可以复制这个文件,对这个文件做出任何想要的修改,并且在未来的安装过程中利用上这个配置文件。

当创建Kickstart文件时,牢记以下几点:

  • 以井号(#)开头的行被认为是注释,注释部分会被忽略。

  • 章节(section)必须*按顺序*指定。在章节中的项目(item)不必须按顺序指定,除非有特殊的情况那才需要按顺序指定。正确的章节顺序是:

    • 命令章节中包含的Kickstart命令和选项位列于Kickstart语法参考。注意:其中的某些命令,例如[command]#install#是必选的,但大多数命令是可选的。

    • [command]#%packages#章节包括了一个可被安装的软件包列表和软件包组。详见%packages (必须安装) ——软件包选择

    • %pre and [command]#%post章节包括了一个安装过程前和安装过程后执行的脚本。这两个章节可以按照任何顺序而且不是必选的。详见%pre (可选) ——安装前%post (可选)——安装后

      %packages%pre#和[command]%post#章节必须以[command]#%end#结尾,否则安装程序将拒绝这个Kickstart文件。主命令章节没有特别的结束语句。

  • 省略任何必需的内容将导致安装程序提示用户需要一个关联项目的答案,就像在典型安装过程中的用户提示一样。一旦用户给了答案,安装过程将继续。注意:如果你正在安装的系统没有显示器,那么你将不会看到提示,安装过程显然会失败。

验证Kickstart文件

当创建或者自定义你的Kickstart文件时,用这个文件进行安装之前进行验证就非常有用。Fedora包括了能用于检查过程的[application]*ksvalidator*命令行工具。这个工具是[package]*pykickstart*的一部分。要安装这个软件包,请执行下列命令:

# dnf install pykickstart

在安装这个软件包后,你可以用以下命令来验证一个Kickstart文件:

$ ksvalidator /path/to/kickstart.ks

将_/path/to/kickstart.ks_替换为你想要验证的Kickstart文件路径。

更多信息详见`ksvalidator(1)` man页面。

牢记验证工具也有自身限制。Kickstart文件可以是非常复杂的,[application]*ksvalidator*能保证语法正确,包括:Kickstart文件不含有移除的选项,但它不能保证安装过程可以成功。它也不会尝试验证Kickstart文件的[command]%pre%post#和[command]%packages#章节。

使Kickstart文件可用

一旦你创建了Kickstart文件,你就可以将其放在以下位置中的一个当中:

  • 在*可移动媒介*上,例如连接到要安装的操作系统上的DVD或者USB闪存盘

  • 在连接到你要安装的操作系统上的硬盘上

  • 在连接到你要安装的操作系统上的、可到达的*网络共享*

正常而言,一个Kickstart文件要从可移动媒介或硬盘中复制而来,然而它还可以从网络中复制而来。在一个可到达的网络位置中也可以实现Kickstart安装,这样做需要网络基础条件满足:操作系统使用PXE服务器启动、Kickstart文件要从网络共享中下载、软件包需要指定为从远端软件源下载的某个版本。

设置一个安装服务器提供了一些关于准备网络基础条件的信息。

开始Kickstart安装

一旦你万事俱备——你已经创建了有效的Kickstart文件,并且你要么有本地启动媒介,要么有可用的PXE服务器,那么你就可以开始Kickstart安装了。你需要用到启动菜单中的[option]inst.ks= 启动选项(如果你是从本地启动媒介中启动的安装过程),或者将这个选项加入PXE服务器配置。关于Kickstart安装的启动选项详见see Kickstart启动选项