使用 Kickstart 进行自动化安装
Kickstart 安装方式提供了一种要么半自动化安装、要么全自动化安装的过程的含义。Kickstart 文件包含了安装程序一般会涉及到的所有问题的答案,例如你想令操作系统使用哪种时区、硬盘应该如何分区或者需要安装哪些软件包等等。当安装过程开始时提供一个准备好的 Kickstart 文件,那之后它就允许你进行自动化的安装过程,而无需用户的人工干预。这对在大量操作系统上一次性部署 Fedora 尤其有用。
所有 Kickstart 脚本和它们执行时的日志文件都被存放于 /tmp
目录下,以帮助调试安装时出现的问题。
如何进行 Kickstart 安装
Kickstart 安装可以使用本地 DVD、本地硬盘、NFS、FTP、HTTP 或者 HTTPS 来进行。
要使用 Kickstart,你必须:
-
创建一个 Kickstart 文件。
-
Create boot media or configure a network boot (PXE) server which will be used to begin the installation. Note that live media cannot be used for Kickstart installations - use installation media that can boot directly into the installer, such as the standard or netinstall ISO image from the Server edition.
-
使你的 Kickstart 文件在可移动媒介、硬盘或者网络位置可用。
-
通过启动安装器的方式来启动 Kickstart 安装,并且使用一个启动方式来告诉安装器在哪里能够找到 Kickstart 文件。
本章详细解释了这些步骤。
创建一个 Kickstart 文件
The Kickstart file itself is a plain text file, containing keywords listed in Kickstart Syntax Reference, which serve as directions for the installation. Any text editor able to save files as ASCII text (such as Gedit or vim on Linux systems or Notepad on Windows systems) can be used to create and edit Kickstart files.
创建 Kickstart 的一种推荐的方式是先进行一次手动安装。在手动安装完成后,在安装过程中做出的所有选项都会被保存到一个文件 anaconda-ks.cfg
当中,此文件位于安装好的操作系统中的 /root/
目录下。你在安装完成之后可以复制这个文件,对这个文件做出任何想要的修改,并且在未来的安装过程中利用上这个配置文件。
当创建 Kickstart 文件时,牢记以下几点:
-
以井号 (
#
) 开头的行被认为是注释,注释部分会被忽略。 -
章节(section)必须 按顺序 指定。在章节中的项目(item)不必须按顺序指定,除非有特殊的情况那才需要按顺序指定。正确的章节顺序是:
-
The command section which contains actual Kickstart commands and options as listed in Kickstart Syntax Reference. Note that some commands, such as install, are mandatory, but most commands are optional.
-
The %packages section which contains a list of packages and package groups to be installed. See %packages (required) - Package Selection for details.
-
The %pre and %post sections, containing a pre-installation and post-installation scripts. These two sections can be in any order and are not mandatory. See %pre (optional) - Pre-installation Script and %post (optional) - Post-installation Script for details.
%packages, %pre 和 %post 章节必须以 %end 结尾,否则安装程序将拒绝这个 Kickstart 文件。主命令章节没有特别的结束语句。
-
-
省略任何必需的内容将导致安装程序提示用户需要一个关联项目的答案,就像在典型安装过程中的用户提示一样。一旦用户给了答案,安装过程将继续。注意:如果你正在安装的系统没有显示器,那么你将不会看到提示,安装过程显然会失败。
验证 Kickstart 文件
当创建或者自定义你的 Kickstart 文件时,用这个文件进行安装之前进行验证就非常有用。Fedora 包括了能用于检查过程的 ksvalidator 命令行工具。这个工具是 pykickstart 的一部分。要安装这个软件包,请执行下列命令:
# dnf install pykickstart
在安装这个软件包后,你可以用以下命令来验证一个 Kickstart 文件:
$ ksvalidator /path/to/kickstart.ks
将 /path/to/kickstart.ks 替换为你想要验证的 Kickstart 文件路径。
更多信息详见 ksvalidator(1)
man 页面。
牢记验证工具也有自身限制。Kickstart 文件可以是非常复杂的,ksvalidator 能保证语法正确,包括:Kickstart 文件不含有移除的选项,但它不能保证安装过程可以成功。它也不会尝试验证 Kickstart 文件的 %pre, %post 和 %packages 章节。 |
使 Kickstart 文件可用
一旦你创建了 Kickstart 文件,你就可以将其放在以下位置中的一个当中:
-
在 可移动媒介 上,例如连接到要安装的操作系统上的 DVD 或者 USB 闪存盘
-
在连接到你要安装的操作系统上的硬盘上
-
在连接到你要安装的操作系统上的、可到达的 网络共享
正常而言,一个 Kickstart 文件要从可移动媒介或硬盘中复制而来,然而它还可以从网络中复制而来。在一个可到达的网络位置中也可以实现 Kickstart 安装,这样做需要网络基础条件满足:操作系统使用 PXE 服务器启动、Kickstart 文件要从网络共享中下载、软件包需要指定为从远端软件源下载的某个版本。
Setting Up an Installation Server offers some additional information about preparing for a network-based installation.
开始 Kickstart 安装
Once you have everything ready - you have created a valid Kickstart file and you have either local boot media or a PXE server available, you can start the Kickstart installation. You need to use the inst.ks= boot option either in the boot menu (when booting from local media), or add this option to your PXE server configuration. For information about boot options used in Kickstart installations, see Kickstart Boot Options.
Want to help? Learn how to contribute to Fedora Docs ›