Red Hat Training

A Red Hat training course is available for RHEL 8

执行高级 RHEL 安装

Red Hat Enterprise Linux 8

使用 Kickstart 安装 Red Hat Enterprise Linux 8

摘要

This document is for users who want to perform an advanced Red Hat Enterprise Linux installation using Kickstart and configure advanced installation options.

使开源包含更多

红帽承诺替换我们的代码、文档和网页属性中存在问题的语言。我们从这四个术语开始: master、slave、blacklist 和 whitelist。这些更改将在即将发行的几个发行本中逐渐实施。如需了解更多详细信息,请参阅 CTO Chris Wright 信息

对红帽文档提供反馈

我们感谢您对文档提供反馈信息。请让我们了解如何改进文档。要做到这一点:

  • 关于特定内容的简单评论:

    1. 请确定您使用 Multi-page HTML 格式查看文档。另外,确定 Feedback 按钮出现在文档页的右上方。
    2. 用鼠标指针高亮显示您想评论的文本部分。
    3. 点在高亮文本上弹出的 Add Feedback
    4. 按照显示的步骤操作。
  • 要提交更复杂的反馈,请创建一个 Bugzilla ticket:

    1. 进入 Bugzilla 网站。
    2. 在 Component 中选择 Documentation
    3. Description 中输入您要提供的信息。包括文档相关部分的链接。
    4. Submit Bug

第 1 章 简介

Red Hat Enterprise Linux 8 在混合云部署环境中提供稳定、安全、持续的基础,并提供更迅速地提供工作负载所需的工具。它可部署为虚拟机监控程序及云供应商环境,也可以部署到物理构架中,以便您的应用程序可在主要硬件构架平台中利用创新。

1.1. 支持的构架

Red Hat Enterprise Linux 支持以下构架:

  • AMD、Intel 和 ARM 64 位架构
  • IBM Power Systems, Little Endian

    • IBM Power System LC 服务器
    • IBM Power System AC 服务器
    • IBM Power System L 服务器
  • IBM Z

1.2. 安装术语

这部分论述了 Red Hat Enterprise Linux 安装术语。同一概念可以会使用不同的术语,具体要看上游或下游来源。

Anaconda: Fedora、Red Hat Enterprise Linux 以及其变体使用的操作系统安装程序。Anaconda 是一组 Python 模块和脚本,它带有其他文件,比如 Gtk widgets(使用 C)、systemd 单元以及 dracut 程序库。它们一起形成允许用户设置结果(target)系统参数的工具。在这个文档中, 安装程序 指的是 Anaconda 的安装方面。

第 2 章 安装方法

根据具体要求,您可以使用几种方法安装 Red Hat Enterprise Linux。查看以下部分以确定符合您的要求的最佳安装方法。

2.1. 可用安装方法

您可以使用以下任一方法安装 Red Hat Enterprise Linux:

  • 基于 GUI 的安装
  • 系统或云镜像安装
  • 高级安装
注意

本文档提供有关使用高级安装方法安装 Red Hat Enterprise Linux 的详情。

高级安装

可用的高级安装方法如下:

  • 使用 Kickstart 执行自动 RHEL 安装: 使用 Kickstart 安装 Red Hat Enterprise Linux。Kickstart 是一个自动安装,可让您执行无人值守操作系统安装任务。
  • 从 Content Delivery Network 注册并安装并注册 RHEL:通过 Content Delivery Network(CDN)在不同架构中安装 Red Hat Enterprise Linux。注册是在从 CDN 下载并安装软件包前执行的。图形用户界面和 Kickstart 支持这个安装方法。
  • 使用 VNC 执行远程 RHEL 安装: RHEL 安装程序提供两种 VNC 安装模式: Direct 和 Connect。建立连接后,这两种模式不会有所不同。您选择的模式取决于您的环境。
  • 使用 PXE 从网络安装 RHEL: 网络安装可让您将 Red Hat Enterprise Linux 安装到可访问安装服务器的系统。网络安装至少需要两个系统。

系统或云镜像安装

您只能在虚拟和云环境中使用系统或云镜像安装方法。要执行系统或基于云镜像的安装,请使用 Red Hat Image Builder(红帽镜像构建器)。镜像构建器创建 Red Hat Enterprise Linux 的自定义系统镜像,包括用于云部署的系统镜像。

有关镜像构建器的更多信息,请参阅编写自定义的 RHEL 系统镜像文档。

基于 GUI 的安装

有以下基于 GUI 的安装方法可用:

  • 使用客户门户网站中的 ISO 镜像安装 RHEL:通过从客户门户网站下载 DVD ISO 镜像文件安装 Red Hat Enterprise Linux。系统注册在 GUI 安装完成后进行。GUI 和 Kickstart 支持这个安装方法。
  • 从 Content Delivery Network 注册并安装 RHEL:注册您的系统、附加订阅并从 Content Delivery Network(CDN)安装 Red Hat Enterprise Linux。引导 ISO 和 DVD ISO 镜像文件支持这个安装方法,但建议您使用 Boot ISO 镜像文件作为引导 ISO 镜像文件的安装源默认为 CDN。注册是在从 CDN 下载并安装软件包前执行的。GUI 和 Kickstart 支持这个安装方法。

有关高级安装方法的详情,请查看执行高级 RHEL 安装文档

部分 I. 使用 Kickstart 执行自动安装

第 3 章 Kickstart 安装基础

以下提供了有关 Kickstart 的基本信息,以及如何使用它自动安装 Red Hat Enterprise Linux。

3.1. Kickstart 安装是什么

Kickstart 提供了一种部分自动化 RHEL 安装过程的方法。

Kickstart 文件包含一些或所有 RHEL 安装选项。例如,设置时区,如何对驱动器进行分区,或者应该安装哪些软件包。提供准备好的 Kickstart 文件可进行安装而无需用户干预。这在同时大量部署 Red Hat Enterprise Linux 时特别有用。

Kickstart 文件还提供有关软件选择的更多选项。当使用图形安装界面手动安装 Red Hat Enterprise Linux 时,软件选择仅限于预定义环境和附加组件。Kickstart 文件也允许您安装或删除独立软件包。

Kickstart 文件可保存在单一服务器系统中,并在安装过程中由独立计算机读取。这个安装方法支持使用单一 Kickstart 文件在多台机器中安装 Red Hat Enterprise Linux,使其成为网络和系统管理员的理想选择。

所有执行它们的 Kickstart 脚本和日志文件都保存在新安装系统的 /tmp 目录中,以帮助调试安装问题。

注意

在以前的 Red Hat Enterprise Linux 版本里,可以使用 Kickstart 来升级系统。从 Red Hat Enterprise Linux 7 开始,删除了这个功能,系统升级是由特殊工具处理的。有关升级到 Red Hat Enterprise Linux 8 的详情,请参阅 从 RHEL 7 升级到 RHEL 8 以及使用 RHEL 8 的注意事项

3.2. 自动化安装工作流

Kickstart 安装可以使用本地 DVD、本地硬盘驱动器、NFS、FTP、HTTP 服务器来执行。这部分提供了 Kickstart 使用的高级概述。

  1. 创建一个 Kickstart 文件。您可以手动写入该文件,复制手动安装后保存的 Kickstart 文件,或者使用在线生成器工具创建该文件,之后再编辑该文件。请参阅 第 4 章 创建 Kickstart 文件
  2. 在可移动介质、硬盘或者使用 HTTP(S)、FTP 或者 NFS 服务器的网络位置中让安装程序使用 Kickstart 文件。请参阅 第 5 章 为安装程序提供 Kickstart 文件
  3. 创建用于开始安装的引导介质。请参阅 创建可引导安装介质和 第 14 章 准备使用 PXE 从网络安装
  4. 使安装源可供安装程序使用。请参阅 第 6 章 为 Kickstart 安装创建安装源
  5. 使用引导介质和 Kickstart 文件开始安装。请参阅 第 7 章 启动 Kickstart 安装

如果 Kickstart 文件包含所有强制命令和部分,则会自动完成安装。如果缺少一个或多个这些强制部分,或者出现错误,则安装需要手动干预才能完成。

注意

如果您计划在启用了 UEFI 安全引导的系统中安装 Red Hat Enterprise Linux Beta 版本,请首先禁用 UEFI 安全引导选项,然后开始安装。

UEFI 安全引导要求操作系统内核使用可识别的私钥签名,系统的 firware 使用对应的公钥进行验证。对于 Red Hat Enterprise Linux Beta 版本,内核使用特定于红帽 Beta 的私钥签名,默认情况下,系统无法识别该私钥。因此,系统无法引导安装介质。

第 4 章 创建 Kickstart 文件

您可以使用以下方法创建 Kickstart 文件:

  • 使用在线 Kickstart 配置工具。
  • 复制手动安装后创建的 Kickstart 文件。
  • 手动编写整个 Kickstart 文件。请注意,编辑通过其它方法已存在的文件速度会更快,因此不建议使用这个方法。
  • 为 Red Hat Enterprise Linux 8 安装转换 Red Hat Enterprise Linux 7 Kickstart 文件。
  • 如果是虚拟和云环境,请使用 Image Builder 创建自定义系统镜像。

请注意,某些高度特定的安装选项只能通过手动编辑 Kickstart 文件来配置。

4.1. 使用 Kickstart 配置工具创建 Kickstart 文件

有红帽客户门户网站帐户的用户可以使用客户门户网站 Labs 中的 Kickstart Generator 工具在线生成 Kickstart 文件。这个工具可帮助您完成基本配置,并下载得到的 Kickstart 文件。

注意

该工具目前不支持任何高级分区。

先决条件

  • 您必须有一个红帽客户门户网站帐户和一个活跃的红帽订阅。

流程

  1. https://access.redhat.com/labsinfo/kickstartconfig 打开 Kickstart 生成器实验室信息页面
  2. 点击 Go to Application 按钮到标题左侧,再等待下一页加载。
  3. 选择 Red Hat Enterprise Linux 8 并等待页面更新。
  4. 使用表单中的字段描述要安装的系统。

    您可以使用表单左侧的链接来快速导航表表单的部分内容。

  5. 要下载生成的 Kickstart 文件,请点击红色 Download 按钮(位于页面顶部)。

    浏览器会保存该文件。

4.2. 执行手动安装来创建 Kickstart 文件

推荐的生成 Kickstart 文件的方法是使用手动安装 Red Hat Enterprise Linux 生成的文件。安装完成后,安装中的所有选择都会保存到名为 anaconda-ks.cfg 的 Kickstart 文件中,它位于安装的系统中的 /root/ 目录中。您可以使用这个文件来重现安装。另外,复制此文件,根据需要进行修改,并使用得到的配置文件进行进一步安装。

流程

  1. 安装 RHEL。详情请参阅 执行标准 RHEL 安装文档

    在安装过程中,创建一个具有管理员权限的用户。

  2. 完成安装并重启系统。
  3. 使用管理员帐户登录该系统。
  4. 将文件 /root/anaconda-ks.cfg 复制到您选择的位置。

    • 在终端显示文件内容:

      # cat /root/anaconda-ks.cfg

      您可以复制输出并保存到您选择的其他文件中。

    • 要将文件复制到另一个位置,请使用文件管理器。请记住需要修改副本的权限,以便非 root 用户可读取该文件。
    小心

    该文件包含用户和密码的信息。

4.3. 为 RHEL 8 安装转换 RHEL 7 Kickstart 文件

您可以使用 Kickstart Converter 工具转换 RHEL 7 Kickstart 文件,用于新的 RHEL 8 安装。有关该工具以及如何使用该工具转换 RHEL 7 Kickstart 文件的详情,请查看 https://access.redhat.com/labs/kickstartconvert/

4.4. 使用 Image Builder 创建自定义镜像

您可以使用 Red Hat Image Builder 为虚拟和云部署创建自定义系统镜像。

有关使用镜像构建器创建自定义镜像的更多信息,请参阅 生成自定义的 RHEL 系统镜像文档

第 5 章 为安装程序提供 Kickstart 文件

以下提供了有关在目标系统中让安装程序使用 Kickstart 文件的信息。

5.1. 基于网络安装的端口

下表列出了必须在服务器中打开的端口,可提供各种基于网络的安装的文件。

表 5.1. 基于网络安装的端口

使用的协议打开端口

HTTP

80

HTTPS

443

FTP

21

NFS

2049, 111, 20048

TFTP

69

其它资源

5.2. 在 NFS 服务器中提供 Kickstart 文件

这个步骤描述了如何在 NFS 服务器中保存 Kickstart 脚本。这个方法可让您使用单一源安装多个系统而无需为 Kickstart 文件使用物理介质。

先决条件

  • 您必须具有管理员对本地网络中使用 Red Hat Enterprise Linux 8 的服务器的访问权限。
  • 要安装的系统必须能够连接到服务器。
  • 服务器上的防火墙必须允许您要安装到的系统的连接。如需更多信息,请参阅 第 5.1 节 “基于网络安装的端口”

流程

  1. 安装 nfs-utils 软件包。请作为 root 运行以下命令完成此步骤:

    # yum install nfs-utils
  2. 将 Kickstart 文件复制到 NFS 服务器的目录中。
  3. 使用文本编辑器打开 /etc/exports 文件,并使用以下语法添加一行:

    /exported_directory/ clients
  4. 使用到包含 Kickstart 文件的目录的完整路径替换 /exported_directory/。要从这个 NFS 服务器安装计算机的主机名或 IP 地址替换 clients,如果您想允许任何可访问该 NFS 服务器的计算机都能使用该 ISO 镜像,则使用该系统所在的子网络访问该 ISO 镜像,或者使用星号(*)。有关此格式的详情,请查看 exports(5) 手册页。

    以下是一个基本配置,它使 /rhel8-install/ 目录以只读方式对所有客户端可用:

    /rhel8-install *
  5. 保存 /etc/exports 文件并退出文本编辑器。
  6. 启动 nfs 服务:

    # systemctl start nfs-server.service

    如果在更改 /etc/exports 文件前运行该服务,请为运行的 NFS 服务器运行以下命令来重新载入其配置:

    # systemctl reload nfs-server.service

    Kickstart 文件现在可以通过 NFS 访问并可用于安装。

注意

当指定 Kickstart 源时,使用 nfs: 作为协议、服务器主机名或 IP 地址、冒号(:)以及包含该文件的目录内的路径。例如:如果服务器主机名是 myserver.example.com 且已在 /rhel8-install/my-ks.cfg 中保存了该文件,请将 inst.ks=nfs:myserver.example.com:/rhel8-install/my-ks.cfg 指定为安装源引导选项。

其它资源

5.3. 在 HTTP 或 HTTPS 服务器中提供 Kickstart 文件

这个步骤描述了如何在 HTTP 或 HTTPS 服务器中存储 Kickstart 脚本文件。这个方法可让您使用单一源安装多个系统而无需为 Kickstart 文件使用物理介质。

先决条件

  • 您必须具有管理员对本地网络中使用 Red Hat Enterprise Linux 8 的服务器的访问权限。
  • 要安装的系统必须能够连接到服务器。
  • 服务器上的防火墙必须允许您要安装到的系统的连接。如需更多信息,请参阅 第 5.1 节 “基于网络安装的端口”

流程

  1. 安装 httpd 软件包。请作为 root 运行以下命令完成此步骤:

    # yum install httpd
    警告

    如果您的 Apache 网页服务器配置启用了 SSL 安全性,请确定您只启用 TLSv1 协议,并禁用 SSLv2 和 SSLv3。这是因为 POODLE SSL 漏洞(CVE-2014-3566)。详情请查看 https://access.redhat.com/solutions/1232413

    重要

    如果您使用带有自签名证书的 HTTPS 服务器,则必须使用 inst.noverifyssl 选项引导安装程序。

  2. 将 Kickstart 文件复制到 HTTP(S)服务器到该 /var/www/html/ 目录的子目录中。
  3. 启动 httpd 服务:

    # systemctl start httpd.service

    Kickstart 文件现在可以访问并可用于安装。

    注意

    当指定 Kickstart 文件的位置、使用 http:// 或者 https:// 作为协议,该服务器的主机名或 IP 地址以及 Kickstart 文件的路径(相对于 HTTP 服务器 root)。例如:如果您使用 HTTP,则服务器的主机名为 myserver.example.com,且已将 Kickstart 文件复制为 /var/www/html/rhel8-install/my-ks.cfg,指定 http://myserver.example.com/rhel8-install/my-ks.cfg 组为文件位置。

其它资源

5.4. 在 FTP 服务器中提供 Kickstart 文件

这个步骤描述了如何在 FTP 服务器中保存 Kickstart 脚本。这个方法可让您使用单一源安装多个系统而无需为 Kickstart 文件使用物理介质。

先决条件

  • 您必须具有管理员对本地网络中使用 Red Hat Enterprise Linux 8 的服务器的访问权限。
  • 要安装的系统必须能够连接到服务器。
  • 服务器上的防火墙必须允许您要安装到的系统的连接。如需更多信息,请参阅 第 5.1 节 “基于网络安装的端口”

流程

  1. 安装 vsftpd 软件包。请作为 root 运行以下命令完成此步骤:

    # yum install vsftpd
  2. 在文本编辑器中打开并编辑 /etc/vsftpd/vsftpd.conf 配置文件。

    1. 将行 anonymous_enable=NO 改为 anonymous_enable=YES
    2. 将行 write_enable=YES 改为 write_enable=NO
    3. 添加行 pasv_min_port=min_portpasv_max_port=max_port。用被动模式的 FTP 服务器使用的端口范围替换 min_portmax_port1002110031

      在带有各种防火墙/NAT 设置的网络环境中,这个步骤可能是必要的。

    4. 另外,还可在您的配置中添加自定义更改。可用选项请查看 vsftpd.conf(5) 手册页。这个步骤假设使用了默认选项。

      警告

      如果在 vsftpd.conf 文件中配置了 SSL/TLS 安全性,请确保只启用 TLSv1 协议,并禁用 SSLv2 和 SSLv3。这是因为 POODLE SSL 漏洞(CVE-2014-3566)。详情请参考 https://access.redhat.com/solutions/1234773

  3. 配置服务器防火墙。

    1. 启用防火墙:

      # systemctl enable firewalld
      # systemctl start firewalld
    2. 在您的防火墙中启用前一步中的 FTP 端口和端口范围:

      # firewall-cmd --add-port min_port-max_port/tcp --permanent
      # firewall-cmd --add-service ftp --permanent
      # firewall-cmd --reload

      min_port-max_port 替换为您输入到 /etc/vsftpd/vsftpd.conf 配置文件的端口号。

  4. 将 Kickstart 文件复制到 FTP 服务器的 /var/ftp/ 目录中或者子目录中。
  5. 请确定在文件中正确设置了正确的 SELinux 上下文和访问模式:

    # restorecon -r /var/ftp/your-kickstart-file.ks
    # chmod 444 /var/ftp/your-kickstart-file.ks
  6. 启动 vsftpd 服务:

    # systemctl start vsftpd.service

    如果在更改 /etc/vsftpd/vsftpd.conf 文件前运行该服务,重启该服务以载入经过编辑的文件:

    # systemctl restart vsftpd.service

    在引导过程中启用 vsftpd 服务:

    # systemctl enable vsftpd

    Kickstart 文件现在可以访问,并可用于同一网络中的系统安装。

    注意

    在指定安装源时,使用 ftp:// 作为协议,指定服务器的主机名或 IP 地址,以及 Kickstart 文件的路径(相对于 HTTP 服务器 root)。例如:如果服务器的主机名是 myserver.example.com 且您已经将文件复制到 /var/ftp/my-ks.cfg,请指定 ftp://myserver.example.com/my-ks.cfg 为安装源。

5.5. 在本地卷中提供 Kickstart 文件

这个步骤描述了如何在要安装的系统中的卷中保存 Kickstart 脚本文件。这个方法可让您绕过其他系统的要求。

先决条件

  • 您必须有可移动到要安装的机器的驱动器,比如 USB 盘。
  • 该驱动器必须包含安装程序可读取的分区。支持的类型有 ext2ext3 ext4 xfs、和 fat
  • 该驱动器必须已连接到系统,并挂载了它的卷。

流程

  1. 列出卷信息并记录您想要复制 Kickstart 文件的卷 UUID。

    # lsblk -l -p -o name,rm,ro,hotplug,size,type,mountpoint,uuid
  2. 导航到卷中的文件系统。
  3. 将 Kickstart 文件复制到这个文件系统中。
  4. 请记录以后要与 inst.ks= 选项搭配使用的字符串。这个字符串的格式是 hd:UUID=volume-UUID:path/to/kickstart-file.cfg。请注意:该路径相对于文件系统根目录,而不是文件系统分级的 / 根目录。使用之前记录的 UUID 替换 volume-UUID
  5. 卸载所有驱动器卷:

    # umount /dev/xyz ...

    在命令中添加所有卷,用空格分开。

5.6. 在本地卷中生成 Kickstart 文件以便自动载入

在要安装的系统中特殊命名的卷的根目录中会出现一个名为 Kickstart 文件。这可让您避开另一个系统的需要,让安装程序自动载入该文件。

先决条件

  • 您必须有可移动到要安装的机器的驱动器,比如 USB 盘。
  • 该驱动器必须包含安装程序可读取的分区。支持的类型有 ext2ext3 ext4 xfs、和 fat
  • 该驱动器必须已连接到系统,并挂载了它的卷。

流程

  1. 列出卷信息并记录您想要复制 Kickstart 文件的卷 UUID。

    # lsblk -l -p
  2. 导航到卷中的文件系统。
  3. 将 Kickstart 文件复制到文件系统的根目录下。
  4. 将 Kickstart 文件重命名为 ks.cfg
  5. 将卷重命名为 OEMDRV:

    • 对于 ext2ext3ext4 文件系统:

      # e2label /dev/xyz OEMDRV
    • 对于 XFS 文件系统:

      # xfs_admin -L OEMDRV /dev/xyz

    使用卷块设备的路径替换 /dev/xyz

  6. 卸载所有驱动器卷:

    # umount /dev/xyz ...

    在命令中添加所有卷,用空格分开。

第 6 章 为 Kickstart 安装创建安装源

这部分论述了如何使用包含所需软件仓库和软件包的 DVD ISO 镜像为引导 ISO 镜像创建安装源。

6.1. 安装源的类型

您可选择以下安装源之一用于最小引导镜像:

  • DVD:将 DVD ISO 镜像刻录到 DVD。安装程序将使用 DVD 自动安装软件软件包。
  • 硬盘或者 USB 驱动器: 将 DVD ISO 镜像复制到驱动器中,并将安装程序配置为从驱动器安装软件包。如果您使用 USB 驱动器,请在安装开始前确定连接到该系统。安装过程开始后,安装程序无法检测到介质。

    • 硬盘限制 : 硬盘中的 DVD ISO 镜像必须在带有安装程序可以挂载的文件系统的分区中。支持的文件系统包括 xfsext2ext3 ext4、以及 vfat (FAT32)
    警告

    在 Microsoft Windows 系统中,格式化硬盘时使用的默认文件系统是 NTFS。exFAT 文件系统也可用。但是,这些文件系统无法在安装过程中被挂载。如果您在 Microsoft Windows 中创建硬盘或者 USB 驱动器作为安装源,请确定您将驱动器格式化为 FAT32。请注意: FAT32 文件系统无法存储大于 4GiB 的文件。

    在 Red Hat Enterprise Linux 8 中,您可以使用本地硬盘中的目录启用安装。要做到这一点,您需要将 DVD ISO 镜像的内容复制到硬盘的目录中,然后指定该目录作为安装源而不是 ISO 镜像。例如: inst.repo=hd:<device>:<path to the directory>

  • 网络位置: 将 DVD ISO 镜像或安装树( DVD ISO 镜像的提取内容)复制到网络位置,并使用以下协议通过网络执行安装:

    • NFS: DVD ISO 镜像位于网络文件系统(NFS)共享中。
    • HTTPS、HTTP 或者 FTP: 安装树位于可通过 HTTP、HTTPS 或者 FTP 访问的网络位置。

6.2. 基于网络安装的端口

下表列出了必须在服务器中打开的端口,可提供各种基于网络的安装的文件。

表 6.1. 基于网络安装的端口

使用的协议打开端口

HTTP

80

HTTPS

443

FTP

21

NFS

2049, 111, 20048

TFTP

69

其它资源

6.3. 在 NFS 服务器中创建安装源

按照以下步骤将安装源放在 NFS 服务器中。使用这个安装方法从单一源安装多个系统,而无需连接到物理介质。

先决条件

流程

  1. 安装 nfs-utils 软件包:

    # yum install nfs-utils
  2. 将 DVD ISO 镜像复制到 NFS 服务器的目录中。
  3. 使用文本编辑器打开 /etc/exports 文件,并使用以下语法添加一行:

    /exported_directory/ clients
  4. 使用到包括 ISO 镜像的目录的完全路径替换 /exported_directory/。使用目标系统的主机名或 IP 地址替换 clients,所有目标系统可以用来访问 ISO 镜像的子网络 ; 如果要允许任何可通过网络访问 NFS 服务器的系统使用 ISO 镜像,则使用星号(*)。有关此格式的详情,请查看 exports(5) man page。

    使 /rhel8-install/ 目录为所有客户端以只读形式提供的基本配置是:

    /rhel8-install *
  5. 保存 /etc/exports 文件并退出文本编辑器。
  6. 启动 nfs 服务:

    # systemctl start nfs-server.service

    如果在您更改 /etc/exports 文件前运行该服务,为运行的 NFS 服务器运行以下命令重新载入其配置:

    # systemctl reload nfs-server.service

    现在可通过 NFS 访问该 ISO 镜像并可作为安装源使用。

注意

在配置安装源时,使用 nfs: 作为协议,指定服务器主机名或 IP 地址、冒号 (:) 以及该 ISO 镜像所在目录。例如:如果服务器主机名是 myserver.example.com 且您保存了 ISO 镜像 /rhel8-install/,指定 nfs:myserver.example.com:/rhel8-install/ 为安装源。

6.4. 使用 HTTP 或 HTTPS 创建安装源

按照以下步骤,使用安装树为基于网络的安装创建安装源,这是包含提取 DVD ISO 镜像内容和有效 .treeinfo 文件的目录。可通过 HTTP 或 HTTPS 访问该安装源。

先决条件

流程

  1. 安装 httpd 软件包:

    # yum install httpd
    警告

    如果您的 Apache 网页服务器配置启用了 SSL 安全性,请确定您只启用 TLSv1 协议,并禁用 SSLv2 和 SSLv3。这是因为 POODLE SSL 漏洞(CVE-2014-3566)。详情请查看 https://access.redhat.com/solutions/1232413

    重要

    如果您使用带有自签名证书的 HTTPS 服务器,则必须使用 noverifyssl 选项引导安装程序。

  2. 将 DVD ISO 镜像复制到 HTTP(S)服务器。
  3. 使用 mount 命令将 DVD ISO 镜像挂载到适当的目录:

    # mkdir /mnt/rhel8-install/
    # mount -o loop,ro -t iso9660 /image_directory/image.iso /mnt/rhel8-install/

    使用 DVD ISO 镜像的路径替换 /image_directory/image.iso

  4. 将挂载镜像中的文件复制到 HTTP(S)服务器 root 中。此命令会创建包含镜像内容的 /var/www/html/rhel8-install/ 目录。

    # cp -r /mnt/rhel8-install/ /var/www/html/

    该命令创建包含镜像内容的 /var/www/html/rhel8-install/ 目录。请注意,有些复制方法可以跳过有效安装源所需的 .treeinfo 文件。为整个目录运行 cp 命令,如本流程所示将正确复制 .treeinfo

  5. 启动 httpd 服务:

    # systemctl start httpd.service

    安装树现在可以访问并可作为安装源使用。

    注意

    在配置安装源时,使用 http:// 或者 https:// 作为协议、指定服务器主机名或 IP 地址以及 ISO 镜像中包含文件的目录(相对于 HTTP 服务器 root)。例如:如果您使用 HTTP,则服务器主机名为 myserver.example.com,且您已将镜像中的文件复制到 /var/www/html/rhel8-install/,指定 http://myserver.example.com/rhel8-install/ 作为安装源。

6.5. 使用 FTP 创建安装源

按照以下步骤,使用安装树为基于网络的安装创建安装源,这是包含提取 DVD ISO 镜像内容和有效 .treeinfo 文件的目录。通过 FTP 访问该安装源。

先决条件

流程

  1. 安装 vsftpd 软件包。请作为 root 运行以下命令完成此步骤:

    # yum install vsftpd
  2. 在文本编辑器中打开并编辑 /etc/vsftpd/vsftpd.conf 配置文件。

    1. 将行 anonymous_enable=NO 改为 anonymous_enable=YES
    2. 将行 write_enable=YES 改为 write_enable=NO
    3. 添加行 pasv_min_port=min_portpasv_max_port=max_port。用被动模式的 FTP 服务器使用的端口范围替换 min_portmax_port1002110031

      在带有各种防火墙/NAT 设置的网络环境中,这个步骤可能是必要的。

    4. 另外,还可在您的配置中添加自定义更改。可用选项请查看 vsftpd.conf(5) 手册页。这个步骤假设使用了默认选项。

      警告

      如果在 vsftpd.conf 文件中配置了 SSL/TLS 安全性,请确保只启用 TLSv1 协议,并禁用 SSLv2 和 SSLv3。这是因为 POODLE SSL 漏洞(CVE-2014-3566)。详情请参考 https://access.redhat.com/solutions/1234773

  3. 配置服务器防火墙。

    1. 启用防火墙:

      # systemctl enable firewalld
      # systemctl start firewalld
    2. 在您的防火墙中启用前一步中的 FTP 端口和端口范围:

      # firewall-cmd --add-port min_port-max_port/tcp --permanent
      # firewall-cmd --add-service ftp --permanent
      # firewall-cmd --reload

      min_port-max_port 替换为您输入到 /etc/vsftpd/vsftpd.conf 配置文件的端口号。

  4. 将 DVD ISO 镜像复制到 FTP 服务器。
  5. 使用 mount 命令将 DVD ISO 镜像挂载到适当的目录:

    # mkdir /mnt/rhel8-install
    # mount -o loop,ro -t iso9660 /image-directory/image.iso /mnt/rhel8-install

    使用 DVD ISO 镜像的路径替换 /image-directory/image.iso

  6. 将挂载镜像中的文件复制到 FTP 服务器 root 目录中:

    # mkdir /var/ftp/rhel8-install
    # cp -r /mnt/rhel8-install/ /var/ftp/

    该命令创建包含镜像内容的 /var/ftp/rhel8-install/ 目录。请注意,有些复制方法可以跳过有效安装源所需的 .treeinfo 文件。为整个目录运行 cp 命令,如本流程所示将正确复制 .treeinfo

  7. 请确定在复制的内容中设置了正确的 SELinux 上下文和访问模式:

    # restorecon -r /var/ftp/rhel8-install
    # find /var/ftp/rhel8-install -type f -exec chmod 444 {} \;
    # find /var/ftp/rhel8-install -type d -exec chmod 755 {} \;
  8. 启动 vsftpd 服务:

    # systemctl start vsftpd.service

    如果在更改 /etc/vsftpd/vsftpd.conf 文件前运行该服务,重启该服务以载入经过编辑的文件:

    # systemctl restart vsftpd.service

    在引导过程中启用 vsftpd 服务:

    # systemctl enable vsftpd

    安装树现在可以访问并可作为安装源使用。

    注意

    在配置安装源时,使用 ftp:// 协议、指定服务器主机名或 IP 地址以及保存 ISO 镜像中文件的目录(相对于 FTP 服务器 root)。例如:如果服务器主机名是 myserver.example.com 且已将镜像中的文件复制到 /var/ftp/rhel8-install/,指定 ftp://myserver.example.com/rhel8-install/ 作为安装源。

第 7 章 启动 Kickstart 安装

您可以以多种方式启动 Kickstart 安装:

  • 输入安装程序引导菜单并指定选项,包括 Kickstart 文件。
  • 通过在 PXE 引导中自动编辑引导选项。
  • 通过使用特定名称在卷中自动提供文件。

如何在以下部分中了解如何执行这些方法。

7.1. 手动启动 Kickstart 安装

这部分论述了如何手动启动 Kickstart 安装。这意味着需要一些用户互动(在 boot: 提示符后添加引导选项)。引导安装系统 inst.ks=location 时使用引导选项,使用 Kickstart 文件的位置替换 location。指定引导选项的具体方法取决于系统的架构。

先决条件

  • 您有一个可用的 Kickstart 文件,位于系统可访问的位置

流程

  1. 使用本地介质(CD、DVD 或者 USB 闪存驱动器)引导系统。
  2. 在 boot 提示符后指定所需的引导选项。

    1. 如果 Kickstart 文件或者所需库位于网络中,可能需要使用 ip= 选项配置网络。在没有这个选项时,安装程序会默认尝试使用 DHCP 协议配置所有网络设备。
    2. 添加 inst.ks= 引导选项以及 Kickstart 文件的位置。
    3. 要访问安装所需软件包的软件源,可能需要添加 inst.repo= 选项。如果您没有指定这个选项,则必须在 Kickstart 文件中指定安装源。

    有关编辑引导选项的详情请参考 第 16.2 节 “编辑引导选项”

  3. 通过确认您添加的引导选项启动安装。

    现在开始使用在 Kickstart 文件中指定的选项安装。如果 Kickstart 文件有效并包含全部所需命令,则从现在开始安装将是全自动的。

注意

如果您已在启用了 UEFI 安全引导的系统中安装了 Red Hat Enterprise Linux Beta 版本,然后将 Beta 公钥添加到系统的 Machine Owner Key(MOK)列表中。有关 UEFI 安全引导和 Red Hat Enterprise Linux Beta 版本的详情请参考 ???

7.2. 使用 PXE 自动启动 Kickstart 安装

AMD64、Intel 64 和 64 位 ARM 系统以及 IBM Power Systems 服务器能够使用 PXE 服务器引导。当您配置 PXE 服务器时,可以在引导装载程序配置文件中添加引导选项,以便您可以自动启动安装。使用这个方法,可以完全自动化安装,包括引导过程。

这个步骤只是一般参考,具体步骤根据您的系统架构有所不同,且不是所有选项都可用于所有架构(例如:您无法在 IBM Z 上使用 PXE 引导)。

先决条件

  • 您必须有一个可用的 Kickstart 文件位于系统可访问的位置。
  • 您必须有可用来引导系统并开始安装的 PXE 服务器。

流程

  1. 打开 PXE 服务器中的引导装载程序配置文件,并在相应的行中添加 inst.ks= 引导选项。该文件的名称及其句法取决于您系统的架构和硬件:

    • 在使用 BIOS 的 AMD64 和 Intel 64 系统中,该文件名称可以是 default,或取决于您的系统 IP 地址。在这种情况下,在安装条目的附加行中添加 inst.ks= 选项。在配置文件中添加的行示例类似如下:

      append initrd=initrd.img inst.ks=http://10.32.5.1/mnt/archive/RHEL-8/8.x/x86_64/kickstarts/ks.cfg
    • 在使用 GRUB2 引导装载程序(带有 UEFI 固件和 IBM Power Systems 服务器的 AMD64、Intel 64 和 64 位 ARM 系统系统)中,该文件的名称将是 grub.cfg。在这个文件中,在安装条目的 kernel 行中添加 inst.ks= 选项。该配置文件 kernel 行示例类似如下:

      kernel vmlinuz inst.ks=http://10.32.5.1/mnt/archive/RHEL-8/8.x/x86_64/kickstarts/ks.cfg
  2. 从网络服务器引导安装。

    现在开始使用在 Kickstart 文件中指定的安装选项安装。如果 Kickstart 文件有效并包含全部所需命令,则安装将是全自动的。

注意

如果您已在启用了 UEFI 安全引导的系统中安装了 Red Hat Enterprise Linux Beta 版本,然后将 Beta 公钥添加到系统的 Machine Owner Key(MOK)列表中。有关 UEFI 安全引导和 Red Hat Enterprise Linux Beta 版本的详情请参考 ???

其它资源

7.3. 使用本地卷自动启动 Kickstart 安装

您可以通过在指定标记的存储卷上加上特定名称的 Kickstart 文件启动 Kickstart 安装。

先决条件

流程

  1. 使用本地介质(CD、DVD 或者 USB 闪存驱动器)引导系统。
  2. 在 boot 提示符后指定所需的引导选项。

    1. 如果所需的仓库位于网络位置,可能需要使用 ip= 选项配置网络。在没有这个选项时,安装程序会默认尝试使用 DHCP 协议配置所有网络设备。
    2. 要访问安装所需软件包的软件源,可能需要添加 inst.repo= 选项。如果您没有指定这个选项,则必须在 Kickstart 文件中指定安装源。
  3. 通过确认您添加的引导选项启动安装。

    现在开始安装,Kickstart 文件会被自动探测,并用来自动启动 Kickstart 安装。

注意

如果您已在启用了 UEFI 安全引导的系统中安装了 Red Hat Enterprise Linux Beta 版本,然后将 Beta 公钥添加到系统的 Machine Owner Key(MOK)列表中。有关 UEFI 安全引导和 Red Hat Enterprise Linux Beta 版本的详情请参考 ???

第 8 章 安装过程中的控制台和日志记录

Red Hat Enterprise Linux 安装程序使用 tmux 除了主接口外,还用于显示和控制多个窗口的终端多路复用器。每个窗口都有不同的目的,它们会显示几个不同的日志,可用于在安装过程中排除问题。其中一个窗口提供带有 root 权限的互动 shell 提示符,除非使用引导选项或者 Kickstart 命令特别禁用了这个提示符。

注意

一般来说,除非需要诊断安装问题,不需要离开默认的图形安装环境。

终端多路器在虚拟控制台 1 中运行。从实际安装环境切换到 tmuxCtrl+Alt+F1。要回到在虚拟控制台 6 中运行的主安装界面,按 Ctrl+Alt+F6

注意

如果您选择文本模式安装,则会从虚拟控制台 1(tmux),切换到控制台 6 将打开 shell 提示符,而不是图形界面。

正在运行的控制台 tmux 具有五个可用的窗口;下表中描述了它们的内容,以及键盘快捷键。请注意,键盘快捷键有两个部分:首先按 Ctrl+b 键,然后释放这两个键,再按您想要使用的窗口的数字键。

Ctrl+b n、Alt+ Tab Ctrl+b p 切换到下一个或上一个 tmux 分别为 窗口。

表 8.1. 可用的 tmux 窗口

快捷键内容

Ctrl+b 1

安装程序主窗口。包含基于文本的提示(在文本模式安装或者使用 VNC 直接模式时),以及一些调试信息。

Ctrl+b 2

root 权限的互动 shell 提示符。

Ctrl+b 3

安装日志; 显示信息保存在 /tmp/anaconda.log

Ctrl+b 4

存储日志; 显示与存储设备和配置相关的消息,保存在 /tmp/storage.log

Ctrl+b 5

程序日志; 显示安装过程中执行的实用程序的信息并保存在 /tmp/program.log

第 9 章 维护 Kickstart 文件

您可以在 Kickstart 文件中自动运行检查。通常,您要验证一个新的或已存在的 Kickstart 文件是否有效。

9.1. 安装 Kickstart 维护工具

要使用 Kickstart 维护工具,您必须安装包含它们的软件包。

流程

  • 安装 pykickstart 软件包:

    # yum install pykickstart

9.2. 验证 Kickstart 文件

使用 ksvalidator 命令行工具验证您的 Kickstart 文件是否有效。当您对 Kickstart 文件进行广泛更改时,这非常有用。

流程

  • ksvalidator 在您的 Kickstart 文件中运行:

    $ ksvalidator /path/to/kickstart.ks

    使用要验证的 Kickstart 文件的路径替换 /path/to/kickstart.ks

重要

验证工具并不能保证安装过程可以成功。它只检查语法是否正确,且该文件不包含已弃用的选项。它不会试图验证 Kickstart 文件中的 %pre%post%packages 部分。

其它资源

  • ksvalidator(1) 手册页。

部分 II. 从 Content Delivery Network 注册并安装 RHEL

第 10 章 使用 Kickstart 从 CDN 注册并安装 RHEL

本节介绍如何使用 Kickstart 注册您的系统、附加 RHEL 订阅并从 Red Hat Content Delivery Network(CDN)安装。

10.1. 从 CDN 注册并安装 RHEL

使用rhsm Kickstart 命令(这个命令支持 syspurpose 命令和 Red Hat Insights)注册您的系统、附加 RHEL 订阅并从 Red Hat Content Delivery Network(CDN)安装。在注册系统时,rhsm Kickstart 命令删除了使用自定义 %post 脚本的要求。

重要

引导 ISO 和 DVD ISO 镜像文件支持 CDN 功能。但建议您使用 引导 ISO 镜像文件作为引导 ISO 镜像文件的默认 CDN 安装源。

先决条件

  • 系统连接到可以访问 CDN 的网络。
  • 您创建了 Kickstart 文件,并使其可用于可移动介质、硬盘或者使用 HTTP(S)、FTP 或者 NFS 服务器的网络位置。
  • Kickstart 文件位于要安装的系统可访问的位置。
  • 您创建了用来开始安装并让安装程序可以使用安装源的引导介质。
重要
  • 系统注册后的安装源存储库依赖于系统的引导方式。如需更多信息,请参阅 执行标准 RHEL 安装文档中的系统注册后安装源仓库的部分。
  • Kickstart 文件中不需要仓库配置,因为您的订阅管理系统可访问的 CDN 子集和库。

流程

  1. 打开 Kickstart 文件。
  2. 编辑该文件,在该文件中添加 rhsm Kickstart 命令及其选项:

    机构(必需)

    输入机构 id。例如:

    --organization=1234567
    注意

    出于安全考虑,在从 CDN 注册和安装时 Kickstart 不支持使用红帽用户名和密码帐户详情。

    激活码(必需)

    输入激活码。只要在您的订阅中进行了注册,您可以输入多个激活码。例如:

    --activation-key="Test_key_1" --activation-key="Test_key_2"
    Red Hat Insights(可选)

    将目标系统连接到 Red Hat Insights。

    注意

    Red Hat Insights 是一个软件即服务(SaaS)服务(SaaS),它提供对注册的红帽系统的持续分析,以主动识别跨物理、虚拟和云环境以及容器部署的安全性、性能和稳定性。与 GUI 设置不同,使用 Kickstart 时默认不启用连接到 Red Hat Insights。

    例如:

    --connect-to-insights
    HTTP 代理(可选)

    设置 HTTP 代理。例如:

    --proxy="user:password@hostname:9000"
    注意

    只有主机名是必须的。如果需要代理在没有验证的默认端口中运行,则使用: --proxy="hostname"

    服务器主机名(可选)
    注意

    服务器主机名不需要 HTTP 协议,例如 nameofhost.com

    如果您正在运行 Satellite 服务器或者执行内部测试,则设定服务器主机名。例如:

    --server-hostname="nameofhost.com"
    rhsm baseurl(可选)
    注意

    rhsm baseurl 需要 HTTP 协议。

    如果您正在运行 Satellite 服务器或者执行内部测试,则设置 rhsm baseurl 选项。例如:

    --rhsm-baseurl="http://nameofhost.com"
    系统目的(可选)

    使用以下命令设置系统目的角色、SLA 和用法:

    syspurpose --role="Red Hat Enterprise Linux Server" --sla="Premium" --usage="Production"
    示例

    以下示例显示了含有所有 Kickstart 命令选项的最小 rhsm Kickstart 文件。

    graphical
    lang en_US.UTF-8
    keyboard us
    rootpw 12345
    timezone America/New_York
    zerombr
    clearpart --all --initlabel
    autopart
    syspurpose --role="Red Hat Enterprise Linux Server" --sla="Premium" --usage="Production"
    rhsm --organization="12345" --activation-key="test_key" --connect-to-insights --server-hostname="nameofhost.com"
    --rhsm-baseurl="http://nameofhost.com" --proxy="user:password@hostname:9000"
    %packages
    vim
    %end
  3. 保存 Kickstart 文件并启动安装过程。

其它资源

  • 有关系统目的的详情,请参考本文档中的配置系统目的部分。
  • 有关如何启动 Kickstart 安装的详情,请参阅启动 Kickstart 安装
  • 有关 Red Hat Insights 的详情,请查看 Red Hat Insights 产品文档
  • 有关激活码的详情,请查看 使用红帽订阅管理文档中的了解激活码 一章。
  • 有关如何为 Subscription Manager 设置 HTTP 代理服务器的详情,请参考使用并配置 Red Hat Subscription Manager 文档中的使用 HTTP 代理章节。

10.2. 从 CDN 验证您的系统注册

使用这个步骤验证您的系统是否在 CDN 中注册。

先决条件

流程

  1. 在终端窗口中以 root 用户身份登录并验证注册:

    # subscription-manager list

    输出会显示附加的订阅详情,例如:

    Installed Product Status
    
    Product Name: Red Hat Enterprise Linux for x86_64
    Product ID: 486
    Version: 8.2
    Arch: x86_64
    Status: Subscribed
    Status Details
    Starts: 11/4/2019
    Ends: 11/4/2020
  2. 要查看详细报告,请运行以下命令:

    # subscription-manager list --consumed

10.3. 从 CDN 取消注册您的系统

使用这个流程从 Red Hat CDN 取消注册您的系统。

先决条件

流程

  1. 在终端窗口中以 root 用户身份登录并取消注册:

    # subscription-manager unregister

    从系统中取消注册附加的订阅,并删除到 CDN 的连接。

部分 III. 使用 VNC 执行远程 RHEL 安装

第 11 章 使用 VNC 执行远程 RHEL 安装

这部分论述了如何使用虚拟网络计算(VNC)执行远程 RHEL 安装。

11.1. 概述

在您使用 CD、DVD、USB 闪存驱动器或者使用 PXE 从网络引导系统时,推荐使用图形用户界面安装 RHEL。然而,很多企业级系统(如 IBM Power Systems 和 IBM Z)都位于远程数据中心环境中,这些环境可自主运行,但没有连接显示设备、键盘和鼠标。这些系统通常被称为 无头系统,它们通常通过网络连接来控制。RHEL 安装程序包含在目标机器上运行图形安装的虚拟网络计算(VNC),但控制图形安装是由网络中的另一个系统处理的。RHEL 安装程序提供两种 VNC 安装模式: DirectConnect。建立连接后,这两种模式不会有所不同。您选择的模式取决于您的环境。

直接(Direct)模式
在 Direct 模式中,RHEL 安装程序被配置为在目标系统中启动,并等待安装在另一个系统中的 VNC viewer 前再运行。作为直接模式安装的一部分,目标系统中会显示 IP 地址和端口。您可以使用 VNC viewer 使用 IP 地址和端口远程连接到目标系统,并完成图形安装。
连接(Connect)模式
在连接模式下, VNC viewer 是在 侦听 模式的远程系统中启动的。VNC viewer 在指定端口等待来自目标系统的进入连接。当 RHEL 安装程序在目标系统上启动时,使用引导选项或 Kickstart 命令提供系统主机名和端口号。然后安装程序使用指定的系统主机名和端口与侦听的 VNC viewer 建立连接。要使用连接模式,带侦听的 VNC viewer 的系统必须能够接受进入的网络连接。

11.2. 注意事项

使用 VNC 执行远程 RHEL 安装时请考虑以下项目:

  • VNC 客户端应用程序: VNC 客户端应用程序要执行 VNC 直接安装和连接安装。在大多数 Linux 发行本程序库中都有 VNC 客户端程序,如 Windows 等其它操作系统可使用免费 VNC 客户端程序。RHEL 中提供以下 VNC 客户端应用程序:

    • tigervnc 独立于您的桌面环境,并作为 tigervnc 软件包的一部分安装。
    • vinagre 是 GNOME 桌面环境的一部分,并作为 vinagre 软件包的一部分安装。
注意

VNC 服务器包含在安装程序中,不需要安装。

  • 网络和防火墙:

    • 如果防火墙不允许入站连接,则必须使用连接模式或禁用防火墙。禁用防火墙可能会造成安全隐患。
    • 如果某个防火墙不允许运行 VNC viewer 的系统进入连接,则必须使用直接模式或者禁用防火墙。禁用防火墙可能会造成安全隐患。有关配置防火墙的详情请参考安全强化文档。
  • 自定义引导选项: 您必须指定启动 VNC 安装的自定义引导选项,且安装说明可能因系统架构的不同而有所不同。
  • Kickstart 安装中的 VNC: 您可以在 Kickstart 安装中使用 VNC 具体命令。仅使用 vnc 命令以 Direct 模式运行 RHEL 安装。可使用选项设置使用连接模式的安装。有关 Kickstart 安装的详情请参考 第 3.1 节 “Kickstart 安装是什么”

11.3. 使用 VNC 直接模式执行远程 RHEL 安装

使用这个流程在 VNC 直接模式下执行远程 RHEL 安装。VNC viewer 需要 VNC viewer 启动到使用 RHEL 安装的目标系统的连接。在此过程中,使用 VNC viewer 的系统被称为远程系统。RHEL 安装程序提示您从远程系统中的 VNC viewer 与目标系统启动连接。

注意

这个过程使用 TigerVNC 作为 VNC viewer。其他浏览器的具体步骤可能有所不同,但适用一般原则。

先决条件

  • 作为 root 用户,您已在远程系统中安装了 VNC viewer,例如:

    # yum install tigervnc
  • 您已设置网络引导服务器并在目标系统中引导安装。如需更多信息,请参阅 第 14.1 节 “网络安装概述”

流程

  1. 在目标系统的 RHEL 引导菜单中,按键盘中的 Tab 键编辑引导选项。
  2. 在命令行末尾附加 inst.vnc 选项。

    1. 如果您想限制正在安装的系统的 VNC 访问,请在命令行末尾添加 inst.vncpassword=PASSWORD 引导选项。用您要用于安装的密码替换 PASSWORD。VNC 密码长度必须在 6 到 8 个字符之间。

      重要

      inst.vncpassword= 选项使用临时密码。它不应该是现有的密码或 root 密码。

  3. Enter 键开始安装。目标系统初始化安装程序并启动所需服务。当系统就绪后,会显示一条信息,提供系统的 IP 地址和端口号。
  4. 在远程系统中打开 VNC viewer。
  5. VNC 服务器 字段输入 IP 地址和端口号。
  6. 连接
  7. 输入 VNC 密码并点击 确定。此时会打开建立 VNC 连接的新窗口。显示 RHEL 安装菜单。在这个窗口中,您可以使用图形用户界面在目标系统中安装 RHEL。

其它资源

  • 有关如何使用图形用户界面执行 RHEL 安装的详情,请参考执行标准 RHEL 安装文档中的使用图形用户界面安装 RHEL 部分。

11.4. 在 VNC Connect 模式下执行远程 RHEL 安装

使用这个流程在 VNC Connect 模式下执行远程 RHEL 安装。在连接模式中,正在安装 RHEL 的目标系统会启动连接到另一个系统中安装的 VNC viewer。在此过程中,使用 VNC viewer 的系统被称为远程系统。

注意

这个过程使用 TigerVNC 作为 VNC viewer。其他浏览器的具体步骤可能有所不同,但适用一般原则。

先决条件

  • 作为 root 用户,您已在远程系统中安装了 VNC viewer,例如:

    # yum install tigervnc
  • 您已设置了一个网络引导服务器来在目标系统中启动安装。如需更多信息,请参阅 第 14.1 节 “网络安装概述”
  • 您已将目标系统配置为使用 VNC Connect 安装的引导选项。
  • 您已确认将使用 VNC viewer 的远程系统配置为接受所需端口上的进入连接。验证取决于您的网络和系统配置。如需更多信息,请参阅安全强化安全网络文档。

流程

  1. 运行以下命令在远程系统中以 侦听模式 启动 VNC viewer:

    $ vncviewer -listen PORT
  2. 使用用于连接的端口号替换 PORT。
  3. 该终端会显示一条信息表示它正在等待目标系统的进入连接。

    TigerVNC Viewer 64-bit v1.8.0
    Built on: 2017-10-12 09:20
    Copyright (C) 1999-2017 TigerVNC Team and many others (see README.txt)
    See http://www.tigervnc.org for information on TigerVNC.
    
    Thu Jun 27 11:30:57 2019
     main:        Listening on port 5500
  4. 从网络引导目标系统。
  5. 在目标系统的 RHEL 引导菜单中,按键盘中的 Tab 键编辑引导选项。
  6. 在命令行末尾附加 inst.vnc inst.vncconnect=HOST:PORT 选项。
  7. 使用正在侦听的 VNC viewer 的远程系统的 IP 地址替换 HOST,使用 VNC viewer 侦听的端口号 PORT
  8. Enter 键开始安装。系统会初始化安装程序并启动所需服务。初始化过程完成后,安装程序会尝试连接到提供的 IP 地址和端口。
  9. 连接成功后,会打开建立 VNC 连接的新窗口,显示 RHEL 安装菜单。在这个窗口中,您可以使用图形用户界面在目标系统中安装 RHEL。

其它资源

  • 有关如何使用图形用户界面执行 RHEL 安装的详情,请参考执行标准 RHEL 安装文档中的使用图形用户界面安装 RHEL 部分。

部分 IV. 高级配置选项

第 12 章 配置系统目的

您可以使用系统目的记录 Red Hat Enterprise Linux 8 系统的预期使用。设置系统目的可让授权服务器自动附加最合适的订阅。这部分论述了如何使用 Kickstart 配置系统目的。

优点包括:

  • 为系统管理员和商业操作提供深入系统级的信息。
  • 降低管理成本以决定系统为什么及其预期目的。
  • 改进了 Subscription Manager 自动附加的客户体验,并自动发现并协调系统使用。

12.1. 概述

可以用以下方法之一输入系统目的:

  • 创建镜像期间
  • 在 GUI 安装过程中,使用 连接到红帽 的界面注册您的系统并附加您的红帽订阅
  • 在使用 Kickstart 自动化脚本的 Kickstart 安装过程中
  • 在安装后,使用 syspurpose 命令行 ( CLI)工具进行

要记录系统的预期目的,您可以配置以下系统目的组件。注册时授权服务器会使用所选值为您的系统附加最合适的订阅。

  • Role

    • Red Hat Enterprise Linux Server
    • Red Hat Enterprise Linux Workstation
    • Red Hat Enterprise Linux Compute 节点
  • 服务等级协议

    • Premium(高级)
    • Standard(标准)
    • Self-Support(自助)
  • 使用

    • 生产环境
    • 开发/测试
    • 灾难恢复

其它资源

12.2. 在 Kickstart 文件中配置系统目的

按照以下步骤在安装过程中配置系统目的。为此,请使用 Kickstart 配置文件中的 syspurpose Kickstart 命令。

尽管系统目的是 Red Hat Enterprise Linux 安装程序的可选功能,但我们强烈建议您将系统目的配置为自动附加最合适的订阅。

注意

您还可以在安装完成后启用系统目的。要做到这一点,请使用 syspurpose 命令行工具。syspurpose 工具命令与 syspurpose Kickstart 命令不同。

syspurpose Kickstart 命令提供了以下操作:

role

设置系统预期的角色。这个操作使用以下格式:

syspurpose --role=

分配的角色可以是:

  • Red Hat Enterprise Linux Server
  • Red Hat Enterprise Linux Workstation
  • Red Hat Enterprise Linux Compute Node
SLA

设置系统的预期 SLA。这个操作使用以下格式:

syspurpose --sla=

分配的 sla 可以是:

  • Premium
  • Standard
  • Self-Support
usage

设置系统的预期用法。这个操作使用以下格式:

syspurpose --usage=

分配的使用量可以是:

  • Production
  • Development/Test
  • Disaster Recovery

第 13 章 在安装过程中更新驱动程序

这部分论述了如何在 Red Hat Enterprise Linux 安装过程中完成驱动程序更新。

注意

这是安装过程的一个可选步骤。红帽建议不要执行驱动程序更新,除非有此需要。

13.1. 先决条件

红帽、您的硬件零售商或者可信的第三方零售商会通知您在 Red Hat Enterprise Linux 安装过程中需要进行驱动程序更新。

13.2. 概述

Red Hat Enterprise Linux 支持很多硬件设备的驱动程序,但可能不支持一些新发布驱动程序。只有在不支持的驱动程序无法完成安装时才应执行驱动程序更新。通常在安装过程中需要更新驱动程序来支持特定的配置。例如:为存储适配器卡安装驱动程序,提供对您的系统存储设备的访问。

警告

驱动程序更新磁盘可能会禁用冲突内核驱动程序。在个别情况下,卸载内核模块可能会导致安装错误。

13.3. 驱动程序更新的类型

红帽、您的硬件零售商或可信第三方以 ISO 镜像文件的形式提供驱动程序更新。您收到 ISO 镜像文件后,请选择驱动程序更新的类型。

驱动程序更新的类型

自动
推荐的驱动程序更新方法; 标记为OEMDRV的存储设备(包括 CD、DVD 或者 USB 闪存驱动器)是物理上连接到该系统的设备。如果在安装启动时 OEMDRV 存储设备存在,它将被视为驱动程序更新磁盘,安装程序会自动载入其驱动程序。
Assisted
安装程序会提示您定位驱动程序更新。您可以使用 OEMDRV 以外的任意标签标记本地存储设备 。在开始安装时会指定 inst.dd 引导选项。如果您在没有参数的情况下使用这个选项,安装程序会显示所有连接到该系统的存储设备,并提示您选择包含驱动程序更新的设备。
Manual(手动)
手动指定到驱动程序更新镜像或 RPM 软件包的路径。您可以使用 OEMDRV 以外的任意标签指定本地存储设备,,或者可从安装系统访问的网络位置。在开始安装时指定 inst.dd=location 引导选项,其中 location 是驱动程序更新磁盘或者 ISO 镜像的路径。当您指定这个选项时,安装程序会尝试载入在指定位置找到的所有驱动程序更新。使用手动驱动程序更新,您可以指定本地存储设备或者网络位置(HTTP、HTTPS 或者 FTP 服务器)。
注意
  • 您可以同时使用 inst.dd=locationinst.dd,其中 location 是驱动程序更新磁盘或者 ISO 镜像的路径。在这种情况下,安装程序会尝试从位置载入所有可用的驱动程序更新,并提示您选择包含驱动程序更新的设备。
  • 在从网络位置载入驱动程序更新 ip= option 时初始化网络。

限制

在启用了安全引导技术的 UEFI 系统中,必须使用有效证书为所有驱动程序签名。红帽驱动程序使用红帽的私钥签署,并由内核中对应的公钥验证。如果您载入了额外的独立驱动程序,请确认它们已进行了签名。

13.4. 准备驱动程序更新

这个步骤描述了如何在 CD 和 DVD 中准备驱动程序更新。

先决条件

  • 您收到来自红帽、您的硬件零售商或者可信第三方零售商的驱动程序更新 ISO 镜像。
  • 您将驱动程序更新 ISO 镜像刻录到 CD 或者 DVD 中。
警告

如果 CD 或者 DVD 中只有一个以 .iso 结尾的 ISO 镜像文件,则刻录过程将无法成功。有关如何将 ISO 镜像刻录到 CD 或者 DVD 的说明,请查看您的系统刻录软件文档。

流程

  1. 将驱动程序更新 CD 或者 DVD 插入系统的 CD/DVD 驱动器中,并使用系统的文件管理器工具浏览。
  2. 验证单个文件是否可用 rhdd3rhdd3 是一个签名文件,它包含驱动程序描述和一个名为 rpms 的目录,它包含带有不同构架的实际驱动程序的 RPM 软件包。

13.5. 执行自动驱动程序更新

这个步骤描述了如何在安装过程中执行自动驱动程序更新。

先决条件

  • 您已将驱动程序更新映像放在标准磁盘分区中(带有 OEMDRV 标签),或将 OEMDRV 驱动程序更新镜像刻录到 CD 或者 DVD 中。在驱动程序更新过程中可能无法访问高级存储,比如 RAID 或者 LVM 卷。
  • 您已将块设备与 OEMDRV 卷标签连接到您的系统,或者在开始安装进程前将准备的 CD 或者 DVD 插入系统的 CD/DVD 驱动器中。

流程

  1. 完成先决条件步骤后,安装程序启动时会自动载入这些驱动程序,并在安装过程中安装该系统。

13.6. 执行驱动程序更新

这个步骤描述了如何在安装过程中执行驱动程序更新。

先决条件

您已将没有 OEMDRV 卷标签的块设备连接到您的系统,并将驱动程序磁盘镜像复制到这个设备中,或者您已准备好驱动程序更新 CD 或者 DVD,并在开始安装进程前将其插入到系统的 CD/DVD 驱动器中。

注意

如果您将 ISO 镜像文件刻录到 CD 或者 DVD,但没有 OEMDRV 卷标签,则可以使用没有参数的 inst.dd 选项。安装程序提供从 CD 或者 DVD 中扫描和选择驱动程序的选项。在这种情况下,安装程序不会提示您选择驱动程序更新 ISO 镜像。另一个情况是使用带 inst.dd=location 引导选项的 CD 或者 DVD,这样安装程序就可以自动扫描 CD 或者 DVD 进行驱动程序更新。如需更多信息,请参阅 第 13.7 节 “执行手动驱动程序更新”

流程

  1. 在引导菜单窗口中按键盘中的 Tab 键显示引导命令行。
  2. 在命令行中附加 inst.dd 引导选项并 按 Enter 执行引导过程。
  3. 在菜单中选择本地磁盘分区或者 CD 或者 DVD 设备。安装程序扫描 ISO 文件或驱动程序更新 RPM 软件包。
  4. 可选: 选择驱动程序更新 ISO 文件。

    注意

    如果选择的设备或者分区包含驱动程序更新 RPM 软件包而不是 ISO 镜像文件(例如:包含驱动程序更新 CD 或者 DVD 的光驱),则不需要这一步。

  5. 选择所需驱动程序。

    1. 使用键盘上的数字键切换驱动器选择。
    2. c 键安装所选驱动程序。载入所选驱动程序并开始安装过程。

13.7. 执行手动驱动程序更新

这个步骤描述了如何在安装过程中手动驱动程序更新。

先决条件

  • 将驱动程序更新 ISO 镜像文件放在 USB 闪存驱动器或者网页服务器中,并将其连接到您的计算机。

流程

  1. 在引导菜单窗口中按键盘中的 Tab 键显示引导命令行。
  2. 在命令行中附加 inst.dd=location 引导选项,其中 location 是驱动程序更新的路径。镜像文件通常位于网页服务器中,例如 http://server.example.com/dd.iso 或在 USB 闪存驱动器中,如 /dev/sdb1。您还可以指定包含驱动程序更新的 RPM 软件包,例如 http://server.example.com/dd.rpm
  3. Enter 执行引导过程。指定位置中的可用驱动程序会自动载入并启动安装过程。

其它资源

  • 有关inst.dd引导选项的更多信息,请参阅上游 inst.dd 引导选项 内容。
  • 有关所有引导选项的更多信息,请参阅上游引导选项 内容。

13.8. 禁用驱动程序

这个步骤描述了如何禁用发生故障的驱动程序。

先决条件

  • 您已引导安装程序引导菜单。

流程

  1. 在引导菜单中,按键盘中的 Tab 键显示引导命令行。
  2. 在命令行中附加 modprobe.blacklist=driver_name 引导选项。
  3. 使用您要禁用的驱动程序或驱动程序名称替换 driver_name,例如:

    modprobe.blacklist=ahci

    使用 modprobe.blacklist= 引导选项禁用的驱动程序在安装的系统中会保持禁用状态,并出现在 /etc/modprobe.d/anaconda-blacklist.conf 文件中。

  4. Enter 执行引导过程。

第 14 章 准备使用 PXE 从网络安装

这部分论述了如何在 PXE 服务器中配置 TFTP 和 DHCP 来启用 PXE 引导和网络安装。

14.1. 网络安装概述

网络安装允许您将 Red Hat Enterprise Linux 安装到可访问安装服务器的系统。网络安装至少需要两个系统:

PXE 服务器: 运行 DHCP 服务器、TFTP 服务器和 HTTP、HTTPS、FTP 或者 NFS 服务器的系统。虽然每个服务器都可以在不同物理系统中运行,但本节中的步骤假设所有服务器都在一个系统中运行。

Client: 您要安装 Red Hat Enterprise Linux 的系统。安装开始后,客户端会查询 DHCP 服务器,从 TFTP 服务器接收引导文件,并从 HTTP、HTTPS、FTP 或 NFS 服务器下载安装镜像。与其它安装方法不同,客户端不需要任何物理引导介质来启动安装。

注意

要使用网络引导客户端,请在 BIOS/UEFI 或者快速引导菜单中进行配置。在某些硬件中,从网络引导的选项可能会被禁用,或者不可用。

以下是准备使用 PXE 从网络安装 Red Hat Enterprise Linux 的工作流步骤:

步骤

  1. 将安装 ISO 镜像或者安装树导出到 NFS、HTTPS、HTTP 或者 FTP 服务器中。
  2. 配置 TFTP 服务器和 DHCP 服务器,并在 PXE 服务器中启动 TFTP 服务。
  3. 引导客户端并开始安装。
重要

GRUB2 引导装载程序除支持 TFTP 服务器外还支持从 HTTP 进行网络引导。发送引导文件,即内核和初始 RAM 磁盘 vmlinuzinitrd,使用这个协议可能很慢,并导致超时失败。HTTP 服务器不会有这个风险,但建议您在发送引导文件时使用 TFTP 服务器。

其它资源

14.2. 为基于 BIOS 的客户端配置 TFTP 服务器

使用这个步骤配置 TFTP 服务器和 DHCP 服务器,并为基于 BIOS 的 AMD 和 Intel 64 位系统在 PXE 服务器中启动 TFTP 服务。

重要

本节中的所有配置文件都是示例。配置详情会根据架构和具体要求的不同而有所不同。

流程

  1. 作为 root 用户安装以下软件包。如果您已在网络中配置了 DHCP 服务器,排除 dhcp-server 软件包:

    # yum install tftp-server dhcp-server
  2. 允许到防火墙 tftp service 中的进入连接:

    # firewall-cmd --add-service=tftp
    注意
    • 这个命令启用了临时访问,直到下次服务器重启为止。要启用持久性访问,在该命令中添加 --permanent 选项。
    • 根据安装 ISO 文件的位置,您可能需要允许 HTTP 或者其他服务的进入连接。
  3. 将您的 DHCP 服务器配置为使用 SYSLINUX 打包的引导镜像,如下例所示 /etc/dhcp/dhcpd.conf。请注意,如果您已经配置了 DHCP 服务器,在 DHCP 服务器中执行这个步骤。

    option space pxelinux;
    option pxelinux.magic code 208 = string;
    option pxelinux.configfile code 209 = text;
    option pxelinux.pathprefix code 210 = text;
    option pxelinux.reboottime code 211 = unsigned integer 32;
    option architecture-type code 93 = unsigned integer 16;
    
    subnet 10.0.0.0 netmask 255.255.255.0 {
    	option routers 10.0.0.254;
    	range 10.0.0.2 10.0.0.253;
    
    	class "pxeclients" {
    	  match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
    	  next-server 10.0.0.1;
    
    	  if option architecture-type = 00:07 {
    	    filename "uefi/shim.efi";
    	    } else {
    	    filename "pxelinux/pxelinux.0";
    	  }
    	}
    }
  4. 从 DVD ISO 镜像文件中的 SYSLINUX 软件包访问 pxelinux.0 文件,其中 my_local_directory 是您创建的目录的名称:

    # mount -t iso9660 /path_to_image/name_of_image.iso /mount_point -o loop,ro
    # cp -pr /mount_point/BaseOS/Packages/syslinux-tftpboot-version-architecture.rpm /my_local_directory
    # umount /mount_point
  5. 解压软件包:

    # rpm2cpio syslinux-tftpboot-version-architecture.rpm | cpio -dimv
  6. tftpboot/ 目录中创建一个 pxelinux/ 目录, 并将目录中的所有文件复制到 pxelinux/ 目录中:

    # mkdir /var/lib/tftpboot/pxelinux
    # cp my_local_directory/tftpboot/* /var/lib/tftpboot/pxelinux
  7. pxelinux/ 目录中创建 pxelinux.cfg/ 目录:

    # mkdir /var/lib/tftpboot/pxelinux/pxelinux.cfg
  8. 创建名为 default 的配置文件并将其添加到 pxelinux.cfg/ 目录中,如下例所示:

    default vesamenu.c32
    prompt 1
    timeout 600
    
    display boot.msg
    
    label linux
      menu label ^Install system
      menu default
      kernel images/RHEL-8.1/vmlinuz
      append initrd=images/RHEL-8.1/initrd.img ip=dhcp inst.repo=http://10.32.5.1/RHEL-8.1/x86_64/iso-contents-root/
    label vesa
      menu label Install system with ^basic video driver
      kernel images/RHEL-8.1/vmlinuz
      append initrd=images/RHEL-8.1/initrd.img ip=dhcp inst.xdriver=vesa nomodeset inst.repo=http://10.32.5.1/RHEL-8.1/x86_64/iso-contents-root/
    label rescue
      menu label ^Rescue installed system
      kernel images/RHEL-8.1/vmlinuz
      append initrd=images/RHEL-8.1/initrd.img rescue
    label local
      menu label Boot from ^local drive
      localboot 0xffff
    注意
    • 安装程序在没有运行时镜像的情况下无法引导。使用 inst.stage2 引导选项指定镜像的位置。另外,您可以使用 inst.repo= 选项指定镜像和安装源。
    • inst.repo 一起使用的安装源位置必须包含一个有效的 .treeinfo 文件所。
    • 当您选择 RHEL8 安装 DVD 作为安装源时,该 .treeinfo 文件会指向 BaseOS 和 AppStream 软件仓库。您可以使用单个 inst.repo 选项来加载这两个软件仓库。
  9. 创建一个子目录来将引导镜像文件保存在 /var/lib/tftpboot/ 目录中,并将引导镜像文件复制到该目录中。在这个示例中,目录为 /var/lib/tftpboot/pxelinux/images/RHEL-8.1/:

    # mkdir -p /var/lib/tftpboot/pxelinux/images/RHEL-8.1/
    # cp /path_to_x86_64_images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/pxelinux/images/RHEL-8.1/
  10. 在 DHCP 服务器中启动并启用该 dhcpd 服务。如果您在 localhost 中配置了 DHCP 服务器,在本地主机中启动并启用 dhcpd 服务。

    # systemctl start dhcpd
    # systemctl enable dhcpd
  11. 启动并启用 tftp.socket 服务:

    # systemctl start tftp.socket
    # systemctl enable tftp.socket

    PXE 引导服务器现在可以提供 PXE 客户端。您可以启动客户端,即您要安装 Red Hat Enterprise Linux 的系统,在提示指定引导源时选择 PXE 引导,并启动网络安装。

14.3. 为基于 UEFI 的客户端配置 TFTP 服务器

使用这个流程配置 TFTP 服务器和 DHCP 服务器,并为基于 UEFI 的 AMD64、Intel 64 和 64 位 ARM 系统的 PXE 服务器启动 TFTP 服务。

重要
  • 本节中的所有配置文件都是示例。配置详情会根据架构和具体要求的不同而有所不同。
  • Red Hat Enterprise Linux 8 UEFI PXE 引导支持基于 MAC 的 grub 菜单文件的小写文件格式。例如: grub2 的 MAC 地址文件格式是 grub.cfg-01-aa-bb-cc-dd-ee-ff

流程

  1. 作为 root 用户安装以下软件包。如果您已在网络中配置了 DHCP 服务器,请排除 dhcp-server 软件包。

    # yum install tftp-server dhcp-server
  2. 允许到防火墙 tftp service 中的进入连接:

    # firewall-cmd --add-service=tftp
    注意
    • 这个命令启用了临时访问,直到下次服务器重启为止。要启用持久性访问,在该命令中添加 --permanent 选项。
    • 根据安装 ISO 文件的位置,您可能需要允许 HTTP 或者其他服务的进入连接。
  3. 将您的 DHCP 服务器配置为使用带有 shim 打包的引导镜像,如下例所示 /etc/dhcp/dhcpd.conf。请注意,如果您已经配置了 DHCP 服务器,在 DHCP 服务器中执行这个步骤。

    option space pxelinux;
    option pxelinux.magic code 208 = string;
    option pxelinux.configfile code 209 = text;
    option pxelinux.pathprefix code 210 = text;
    option pxelinux.reboottime code 211 = unsigned integer 32;
    option architecture-type code 93 = unsigned integer 16;
    
    subnet 10.0.0.0 netmask 255.255.255.0 {
    	option routers 10.0.0.254;
    	range 10.0.0.2 10.0.0.253;
    
    	class "pxeclients" {
    	  match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
    	  next-server 10.0.0.1;
    
    	  if option architecture-type = 00:07 {
    	    filename "BOOTX64.efi";
    	  } else {
    	    filename "pxelinux/pxelinux.0";
    		}
      }
    }
  4. shim 软件包访问 BOOTX64.efi 文件,从 DVD ISO 镜像文件中的 grub2-efi 软件包访问 grubx64.efi 文件,其中 my_local_directory 是您创建的目录的名称:

    # mount -t iso9660 /path_to_image/name_of_image.iso /mount_point -o loop,ro
    # cp -pr /mount_point/BaseOS/Packages/shim-version-architecture.rpm /my_local_directory
    # cp -pr /mount_point/BaseOS/Packages/grub2-efi-version-architecture.rpm /my_local_directory
    # umount /mount_point
  5. 解压软件包:

    # rpm2cpio shim-version-architecture.rpm | cpio -dimv
    # rpm2cpio grub2-efi-version-architecture.rpm | cpio -dimv
  6. 从您的引导目录中复制 EFI 引导镜像。用 shim 或 grub 替换 ARCH,后接构架,例如 grubx64:

    # cp my_local_directory/boot/efi/EFI/redhat/ARCH.efi /var/lib/tftpboot/uefi/
    # cp my_local_directory/boot/efi/EFI/redhat/ARCH.efi /var/lib/tftpboot/uefi
  7. tftpboot/ 目录中添加名为 grub.cfg 的配置文件,如下例所示:

    set timeout=60
    menuentry 'RHEL 8' {
      linuxefi images/RHEL-8.1/vmlinuz ip=dhcp inst.repo=http://10.32.5.1/RHEL-8.1/x86_64/iso-contents-root/
      initrdefi images/RHEL-8.1/initrd.img
    }
    注意
    • 安装程序在没有运行时镜像的情况下无法引导。使用 inst.stage2 引导选项指定镜像的位置。另外,您可以使用 inst.repo= 选项指定镜像和安装源。
    • inst.repo 一起使用的安装源位置必须包含一个有效的 .treeinfo 文件所。
    • 当您选择 RHEL8 安装 DVD 作为安装源时,该 .treeinfo 文件会指向 BaseOS 和 AppStream 软件仓库。您可以使用单个 inst.repo 选项来加载这两个软件仓库。
  8. 创建一个子目录来将引导镜像文件保存在 /var/lib/tftpboot/ 目录中,并将引导镜像文件复制到该目录中。在这个示例中,目录为 /var/lib/tftpboot/images/RHEL-8.1/:

    # mkdir -p /var/lib/tftpboot/images/RHEL-8.1/
    # cp /path_to_x86_64_images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/images/RHEL-8.1/
  9. 在 DHCP 服务器中启动并启用该 dhcpd 服务。如果您在 localhost 中配置了 DHCP 服务器,在本地主机中启动并启用 dhcpd 服务。

    # systemctl start dhcpd
    # systemctl enable dhcpd
  10. 启动并启用 tftp.socket 服务:

    # systemctl start tftp.socket
    # systemctl enable tftp.socket

    PXE 引导服务器现在可以提供 PXE 客户端。您可以启动客户端,即您要安装 Red Hat Enterprise Linux 的系统,在提示指定引导源时选择 PXE 引导,并启动网络安装。

其它资源

14.4. 为 IBM Power 系统配置网络服务器

使用 GRUB2 为 IBM Power 系统配置网络引导服务器。

重要

本节中的所有配置文件都是示例。配置详情会根据架构和具体要求的不同而有所不同。

流程

  1. 作为 root 用户安装以下软件包。如果您已在网络中配置了 DHCP 服务器,请排除 dhcp-server 软件包。

    # yum install tftp-server dhcp-server
  2. 允许到防火墙 tftp service 中的进入连接:

    # firewall-cmd --add-service=tftp
    注意
    • 这个命令启用了临时访问,直到下次服务器重启为止。要启用持久性访问,在该命令中添加 --permanent 选项。
    • 根据安装 ISO 文件的位置,您可能需要允许 HTTP 或者其他服务的进入连接。
  3. 在 tftp root 中创建 GRUB2 网络引导目录:

    # grub2-mknetdir --net-directory=/var/lib/tftpboot
    Netboot directory for powerpc-ieee1275 created. Configure your DHCP server to point to /boot/grub2/powerpc-ieee1275/core.elf
    注意

    命令输出会告诉您 DHCP 配置中需要配置的文件名,如下所述。

    1. 如果 PXE 服务器在 x86 机器中运行,则 grub2-ppc64-modules 必须在 tftp root 中创建 GRUB2 网络引导目录前安装它:

      # yum install grub2-ppc64-modules
  4. 创建一个 GRUB2 配置文件 /var/lib/tftpboot/boot/grub2/grub.cfg ,如下例所示:

    set default=0
    set timeout=5
    
    echo -e "\nWelcome to the Red Hat Enterprise Linux 8 installer!\n\n"
    
    menuentry 'Red Hat Enterprise Linux 8' {
      linux grub2-ppc64/vmlinuz ro ip=dhcp inst.repo=http://10.32.5.1/RHEL-8.1/x86_64/iso-contents-root/
      initrd grub2-ppc64/initrd.img
    }
    注意
    • 安装程序在没有运行时镜像的情况下无法引导。使用 inst.stage2 引导选项指定镜像的位置。另外,您可以使用 inst.repo= 选项指定镜像和安装源。
    • inst.repo 一起使用的安装源位置必须包含一个有效的 .treeinfo 文件所。
    • 当您选择 RHEL8 安装 DVD 作为安装源时,该 .treeinfo 文件会指向 BaseOS 和 AppStream 软件仓库。您可以使用单个 inst.repo 选项来加载这两个软件仓库。
  5. 使用以下命令挂载 DVD ISO 镜像:

    # mount -t iso9660 /path_to_image/name_of_iso/ /mount_point -o loop,ro
  6. 创建目录并将 initrd.imgvmlinuz 文件从 DVD ISO 镜像复制到其中,例如:

    # cp /mount_point/ppc/ppc64/{initrd.img,vmlinuz} /var/lib/tftpboot/grub2-ppc64/
  7. 将您的 DHCP 服务器配置为使用打包的引导镜像 GRUB2,如下例所示。请注意,如果您已经配置了 DHCP 服务器,在 DHCP 服务器中执行这个步骤。

    subnet 192.168.0.1 netmask 255.255.255.0 {
      allow bootp;
      option routers 192.168.0.5;
      group { #BOOTP POWER clients
        filename "boot/grub2/powerpc-ieee1275/core.elf";
        host client1 {
        hardware ethernet 01:23:45:67:89:ab;
        fixed-address 192.168.0.112;
        }
      }
    }
  8. 调整样本参数 subnet, netmaskroutersfixed-addresshardware ethernet 来适合于您的网络配置。记录 file name 参数 ; 这是 grub2-mknetdir 命令在此流程前面输出的文件名。
  9. 在 DHCP 服务器中启动并启用该 dhcpd 服务。如果您在 localhost 中配置了 DHCP 服务器,在本地主机中启动并启用 dhcpd 服务。

    # systemctl start dhcpd
    # systemctl enable dhcpd
  10. 启动并启用 tftp.socket 服务:

    # systemctl start tftp.socket
    # systemctl enable tftp.socket

    PXE 引导服务器现在可以提供 PXE 客户端。您可以启动客户端,即您要安装 Red Hat Enterprise Linux 的系统,在提示指定引导源时选择 PXE 引导,并启动网络安装。

第 15 章 创建远程仓库

按照以下步骤,使用包含提取 DVD ISO 镜像内容的远程存储库为基于网络的安装创建安装源。可通过 HTTP 或 HTTPS 访问该安装源。

先决条件

  • Red Hat Enterprise Linux 8 安装 DVD/ISO 镜像
  • 多个运行 Red Hat Enterprise Linux 的服务器

15.1. 在 RHEL 上安装 Apache

这个过程将帮助您在 Red Hat Enterprise Linux 8 中安装 Apache。

先决条件

  • 访问带有 Apache webserver 的仓库

流程

  1. 安装 httpd 软件包

    # yum install httpd
  2. 运行,然后启用 Apache webserver。这些命令也会在重启后启动 webserver。

    # systemctl enable httpd
    # systemctl start httpd
  3. 插入任何您可能拥有的网页文件。

    # echo Apache on RHEL 8 > /var/www/html/index.html
  4. 更新防火墙。

    # firewall-cmd --add-service=http --permanent
    # firewall-cmd --add-service=http
  5. 访问网站。

    http://<the-apache-ip-address>
    
    http://<the-apache-hostname>

15.2. 创建远程仓库

多个 Red Hat Enterprise Linux 服务器可访问该网络中的单一 Red Hat Enterprise Linux 程序库。这需要一个正在运行的网页服务器,最有可能是 Apache。

先决条件

  • Red Hat Enterprise Linux 8 安装 DVD
  • 多个运行 Red Hat Enterprise Linux 的服务器

流程

  1. 挂载并复制下载的 DVD 的内容。

    mkdir /mnt/rhel8
    mount -o loop,ro rhel-8.1-x86_64-dvd.iso /mnt/rhel8/
    cp -r /mnt/rhel8/ /var/www/html/
    umount  /mnt/rhel8

    下一步是在客户端执行,而不是在安装了 Apache 的服务器中执行。

  2. 为 BaseOS 和 AppStream 软件仓库创建一个 repo 文件。

    vi /etc/yum.repos.d/rhel_http_repo.repo
    
    [BaseOS_repo_http]
    name=RHEL_8.0_x86_64_HTTP BaseOS
    baseurl="http://myhost/rhel8/BaseOS"
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
    
    [AppStream_repo_http]
    name=RHEL_8.0_x86_64_HTTP AppStream
    baseurl="http://myhost/rhel8/AppStream"
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
    
    [root@localhost ~]# yum repolist
    Updating Subscription Management repositories.
    Unable to read consumer identity
    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
    Last metadata expiration check: 0:08:33 ago on Út 23. července 2019, 16:48:09 CEST.
    repo id                                                              repo name                                                                        status
    AppStream_repo_http                                                  RHEL_8.0_x86_64_HTTP AppStream                                                   4,672
    BaseOS_repo_http                                                     RHEL_8.0_x86_64_HTTP BaseOS                                                      1,658
    [root@localhost ~]#

第 16 章 引导选项

本节介绍可以用来修改安装程序默认行为的一些引导选项。有关引导选项的完整列表,请查看 上游引导选项 内容。

16.1. 引导选项类型

有两种引导选项: 带有 "=" 和没有带有 "=" 。引导选项会附加到引导命令行中,而且多个选项必须以单一空格分开。安装程序专用的引导选项总是以 inst 开始 。

带有 "=" 的选项
您必须为使用该 = 符号的引导选项指定一个值。例如,该 inst.vncpassword= 选项必须包含一个值,在本例中是一个密码。这个示例的正确语法是 inst.vncpassword=password
没有 "=" 的选项
该引导选项不接受任何值或参数。例如:该 rd.live.check 选项强制安装程序在开始安装前验证安装介质。如果使用了这个选项,则执行验证; 如果没有使用这个选项,则会跳过验证。

16.2. 编辑引导选项

本节介绍您从引导菜单中编辑引导选项的不同方法。引导菜单在您引导安装介质后打开。

编辑 BIOS 中的 boot: 提示符

使用 boot: 提示符时,第一个选项必须总是指定您要载入的安装程序镜像文件。在大多数情况下,您可以使用关键字来指定镜像。您可以根据要求指定附加选项。

先决条件

  • 已创建了可引导安装介质(USB、CD 或者 DVD)。
  • 已使用该介质引导安装,并打开了安装引导菜单。

流程

  1. 打开引导菜单后,按键盘上的 Esc 键。
  2. boot: 提示现在可以访问。
  3. Tab 键显示帮助命令。
  4. Enter 键启动安装。要从提示符 boot: 返回到引导菜单,请重启系统并再次从安装介质引导。
注意

boot: 提示也接受 dracut 内核选项。dracut.cmdline(7) man page 中包括了选项列表。

编辑 > 提示符

您可以使用 > 提示编辑预定义的引导选项。例如: 在引导菜单中选择 Test this media and install Red Hat Enterprise Linux 8.1 来显示完整的选项。

注意

这个过程用于使用 BIOS 的 AMD64 和 Intel 64 系统。

先决条件

  • 已创建了可引导安装介质(USB、CD 或者 DVD)。
  • 已使用该介质引导安装,并打开了安装引导菜单。

流程

  1. 在引导菜单中选择一个选项,然后按键盘上的 Tab 键。可访问该 > 提示符并显示可用选项。
  2. 在提示符后附加您需要的选项 >
  3. Enter 键开始安装。
  4. Esc 键取消编辑并返回引导菜单。

编辑 GRUB2 菜单

基于 UEFI 的 AMD64、Intel 64 和 64 位 ARM 系统上有 GRUB2 菜单。

先决条件

  • 已创建了可引导安装介质(USB、CD 或者 DVD)。
  • 已使用该介质引导安装,并打开了安装引导菜单。

流程

  1. 在引导菜单窗口中选择所需选项,然后在键盘中按 e 键。
  2. 移动光标到内核命令行。在 UEFI 系统中,内核命令行以 linuxefi 开始。
  3. 将光标移动到 linuxefi 内核命令行的末尾。
  4. 根据需要编辑参数。例如:要配置一个或多个网络接口,在 linuxefi 内核命令行末尾添加 ip= 参数,后接所需的值。
  5. 完成编辑后,按组合键 Ctrl+X 启动安装。

16.3. 安装源引导选项

这部分包含有关各种安装源引导选项的信息。

inst.repo=

inst.repo= 引导选项指定安装源,即提供软件包程序库的位置以及一个有效的描述它们的 .treeinfo 文件。例如: inst.repo=cdrom。该 inst.repo= 选项的目标必须是以下安装介质之一:

  • 一个可安装树,它是一个目录结构,其中包含安装程序镜像、软件包和存储库数据的目录结构,以及有效 .treeinfo 文件。
  • 一个 DVD(系统 DVD 驱动器中有物理磁盘)
  • 一个 Red Hat Enterprise Linux 安装 DVD 的 ISO 镜像,它可以位于一个硬盘中,或在一个可以被访问到的网络位置。

    使用 inst.repo= 引导选项使用不同的格式配置不同的安装方法。下表包含 inst.repo= 引导选项语法的详情:

    表 16.1. inst.repo= installation source boot options

    源类型引导选项格式源格式

    CD/DVD 驱动器

    inst.repo=cdrom:<device>

    将 DVD 作为物理磁盘安装。[a]

    可安装的树

    inst.repo=hd:<device>:/<path>

    DVD 或安装树的镜像文件,这是安装 DVD 中的目录和文件的完整副本。

    NFS 服务器

    inst.repo=nfs:[options:]<server>:/<path>

    DVD 或安装树的镜像文件,这是安装 DVD 中的目录和文件的完整副本。[b]

    HTTP 服务器

    inst.repo=http://<host>/<path>

    安装树,这是安装 DVD 中的目录和文件的完整副本。

    HTTPS 服务器

    inst.repo=https://<host>/<path>

    FTP 服务器

    inst.repo=ftp://<username>:<password>@<host>/<path>

    HMC

    inst.repo=hmc

     
    [a] 如果禁用了设备,安装程序会自动搜索包含安装 DVD 的驱动器。
    [b] NFS 服务器选项默认使用 NFS 协议版本 3。要使用不同的版本,把 nfsvers=X 添加到 选项,用您要使用的版本号替换 X

    使用以下格式设定磁盘设备名称:

  • 内核设备名称,例如 /dev/sda1 : sdb2
  • 文件系统标签,例如 LABEL=FlashLABEL=RHEL8
  • 文件系统 UUID,例如 UUID=8176c7bf-04ff-403a-a832-9557f94e61db

    非字母数字的字符必须使用 \xNN,其中 NN 是代表字符的十六进制值。例如, \x20 是一个空格 (" ")

inst.addrepo=

使用 inst.addrepo= 引导选项添加可用作另一个安装源的附加程序库以及主仓库(inst.repo=)。在一次引导中,您可以多次使用 inst.addrepo= 引导选项。下表包含 inst.addrepo= 引导选项语法的详情。

注意

REPO_NAME 是仓库的名称,它是安装过程所需要的。这些软件仓库仅在安装过程中使用,它们不会在安装的系统中安装。

表 16.2. inst.addrepo 安装源引导选项

安装源引导选项格式附加信息

在 URL 中可安装的树

inst.addrepo=REPO_NAME,[http,https,ftp]://<host>/<path>

在给定 URL 中查找可安装的树。

NFS 路径中的可安装树

inst.addrepo=REPO_NAME,nfs://<server>:/<path>

在给定的 NFS 路径中查找可安装的树。主机后需要一个冒号。安装程序将 nfs:// 后的所有内容直接传递给 mount 命令,而不是根据 RFC 2224 解析 URL。

安装环境中的可安装树

inst.addrepo=REPO_NAME,file://<path>

在安装环境中的给定位置查找可安装的树。要使用这个选项,必须在安装程序尝试载入可用软件组前挂载该程序库。这个选项的好处是,您可以在一个可引导 ISO 上有多个库,您还可以从 ISO 安装主存储库和其他软件仓库。到额外软件仓库的路径为 /run/install/source/REPO_ISO_PATH。另外,您可以在 Kickstart 文件的 %pre 小节中挂载仓库目录。该路径必须是绝对路径,且以 / 开始,例如: inst.addrepo=REPO_NAME,file:///<path>

硬盘驱动器

inst.addrepo=REPO_NAME,hd:<device>:<path>

挂载给定的 <device> 分区并从由 <path> 指定的 ISO 中安装。如果没有指定 <path>,安装程序会在 <device> 中查找有效安装 ISO。这个安装方法需要一个含有有效可安装树的 ISO。

inst.stage2=

inst.stage2= 引导选项指定安装程序运行时镜像的位置。这个选项需要包含有效 .treeinfo 文件的目录的路径,并从 .treeinfo 文件中读取运行时镜像位置。如果这个 .treeinfo 文件不可用,安装程序会尝试从 images/install.img 载入镜像。

如果没有指定该 inst.stage2 选项,安装程序会尝试使用 inst.repo 选项指定的位置。

当您稍后在安装程序中手动指定安装源时,请使用这个选项。例如,当您要选择 Content Delivery Network(CDN)作为安装源时。安装 DVD 和引导 ISO 已经包含使用相应 ISO 引导安装程序的正确 inst.stage2 选项。

如果要指定安装源,请使用 inst.repo= 选项。

注意

默认情况下,安装介质中使用 inst.stage2= 引导选项,并被设置为特定标签,例如: inst.stage2=hd:LABEL=RHEL-8-0-0-BaseOS-x86_64。如果您修改包含运行时镜像的文件系统的默认标签,或者使用自定义流程引导安装系统,请验证 inst.stage2= 引导选项是否已被设置为正确的值。

inst.noverifyssl

使用 inst.noverifyssl 引导选项可防止安装程序为所有 HTTPS 连接验证 SSL 证书,但附加 Kickstart 程序库除外,其中 --noverifyssl 可为每个程序库设置。

例如:如果您的远程安装源使用自签名 SSL 证书,则该 inst.noverifyssl 引导选项可让安装程序在不验证 SSL 证书的情况下完成安装。

指定源时使用 inst.stage2= 示例

inst.stage2=https://hostname/path_to_install_image/ inst.noverifyssl

指定源时使用 inst.repo= 示例

inst.repo=https://hostname/path_to_install_repository/ inst.noverifyssl

inst.stage2.all

inst.stage2.all 引导选项是用来指定 HTTP、HTTPS 或者 FTP 源。您可以多次使用 inst.stage2= 引导选项,同时使用 inst.stage2.all 选项从源顺序获取镜像,直到成功为止。例如:

inst.stage2.all
inst.stage2=http://hostname1/path_to_install_tree/
inst.stage2=http://hostname2/path_to_install_tree/
inst.stage2=http://hostname3/path_to_install_tree/
inst.dd=
inst.dd= 引导选项在安装过程中执行驱动程序更新。有关如何在安装过程中更新驱动程序的更多信息,请参阅 执行高级 RHEL 安装 文档。
inst.repo=hmc
当使用二进制 DVD 引导时,安装程序会提示您输入附加内核参数。要将 DVD 设为安装源,请在内核参数中附加 inst.repo=hmc 选项。然后安装程序将启用 SEHMC 文件访问,从 DVD 中获取 stage2 镜像,并提供对 DVD 中软件包的访问以供软件选择。这个选项消除了外部网络设置的要求并扩展安装选项。
inst.proxy=

使用 HTTP、HTTPS 和 FTP 协议执行安装时使用 inst.proxy= 引导选项。例如:

[PROTOCOL://][USERNAME[:PASSWORD]@]HOST[:PORT]
inst.nosave=

使用 inst.nosave= 引导选项控制安装日志以及没有保存到安装的系统中的相关文件,例如 input_ksoutput_kslogsall_ks all。可将多个值合并为一个用逗号分开的列表,例如: input_ks,logs

注意

inst.nosave 引导选项是用来排除安装系统中无法被 Kickstart %post 脚本删除的文件,如日志和输入/输出 Kickstart 结果。

表 16.3. inst.nosave boot options

选项描述

input_ks

禁用保存输入 Kickstart 结果的功能。

output_ks

禁用保存安装程序生成的 Kickstart 结果的功能。

all_ks

禁用保存输入和输出 Kickstart 结果的功能。

日志

禁用保存所有安装日志的功能。

all

禁用保存所有 Kickstart 结果以及所有日志的功能。

inst.multilib
使用 inst.multilib 引导选项将 DNF 的 multilib_policy 设置为 all,而不是 best
inst.memcheck
inst.memcheck 引导选项执行检查来确定系统有足够 RAM 来完成安装。如果没有足够 RAM,则会停止安装过程。系统检查不是完全准确的,在安装过程中的内存用量要根据软件包的选择、用户界面(如图形或文本)和其它参数而定。
inst.nomemcheck
inst.nomemcheck 引导选项不会执行检查来验证系统是否有足够 RAM 来完成安装。在低于推荐最小内存量的系统中进行安装不被支持,并可能导致安装过程失败。

16.4. 网络引导选项

这部分包含关于常用网络引导选项的信息。

注意

初始网络初始化是由 dracut 处理的。有关完整列表,请查看 dracut.cmdline(7) man page。

ip=

使用 ip= 引导选项配置一个或多个网络接口。要配置多个接口,您可以多次使用 ip 选项,每个接口都必须使用 rd.neednet=1 选项,且您必须使用 bootdev 选项指定主引导接口。另外,您可以使用一次 ip 选项,然后使用 Kickstart 设置其他接口。这个选项接受几种不同的格式。下表包含大多数常用选项的信息。

注意

在以下表格中:

  • ip 参数指定客户端 IP 地址,需要方括号,例如 [ 2001:db8::99]。
  • gateway 参数是默认网关。IPv6 地址也被接受。
  • netmask 参数是要使用的子网掩码。这可以是完整子网掩码(例如: 255.255.255.0),或是一个前缀(例如 64)。
  • hostname 参数是客户端系统的主机名。这个参数是可选的。

表 16.4. 网络接口配置引导选项格式

配置方法引导选项格式

自动配置任意接口

ip=method

自动配置特定的接口

ip=interface:method

静态配置

ip=ip::gateway:netmask:hostname:interface:none

自动配置特定接口并进行覆盖

ip=ip::gateway:netmask:hostname:interface:method:mtu

注意

automatic configuration of a specific interface with an override 方法使用指定的自动配置方法启动接口,比如 dhcp,但会覆盖自动获得的 IP 地址 、网关、子网掩码、主机名或其他指定参数。所有参数都是可选的,因此仅指定您要覆盖的参数。

method 参数可以是以下任意一种:

表 16.5. 自动接口配置方法

自动配置方法Value

DHCP

dhcp

IPv6 DHCP

dhcp6

IPv6 自动配置

auto6

iSCSI Boot Firmware Table (iBFT)

ibft

注意
  • 如果您使用需要网络访问的引导选项 inst.ks=http://host/path,比如在没有指定 ip 选项的情况下,安装程序将使用 ip=dhcp
  • 要自动连接到 iSCSI 目标,您必须激活网络设备以便访问该目标。激活网络的建议方法是使用 ip=ibft 引导选项。
nameserver=

nameserver= 选项指定名称服务器的地址。您可以多次使用这个选项。

注意

ip= 参数需要方括号。但是 IPv6 地址不能使用方括号。IPv6 地址使用的正确语法示例如下 nameserver=2001:db8::1

bootdev=
bootdev= 选项指定引导接口。如果您使用多个选项,这个 ip 选项是必须的。
ifname=

这些 ifname= 选项会为带有给定 MAC 地址的网络设备分配接口名称。您可以多次使用这个选项。语法是 ifname=interface:MAC。例如:

ifname=eth0:01:23:45:67:89:ab
注意

ifname= 选项是在安装过程中设置自定义网络接口的唯一方法。

inst.dhcpclass=
inst.dhcpclass= 选项指定 DHCP 厂商类别识别符。dhcpd 服务将此值视为 vendor-class-identifier。默认值为 anaconda-$(uname -srm)
inst.waitfornet=
使用 inst.waitfornet=SECONDS 引导选项可让安装系统在安装前等待网络连接。参数中给出的 SECONDS 值指定了在超时和继续安装过程(即使没有网络连接)前等待网络连接的最长时间。

其它资源

16.5. 控制台引导选项

本节介绍如何为您的控制台配置引导选项、显示器显示和键盘。

console=
使用 console= 选项指定您要用作主控制台的设备。例如,要使用第一个串口上的控制台,请使用 console=ttyS0。这个选项和这个 inst.text 选项一起使用。您可以多次使用该 console= 选项。如果您这样做,则会在所有指定的控制台中显示引导信息,但安装程序将只使用最后一个控制台。例如,如果指定 console=ttyS0 console=ttyS1,安装程序将使用 ttyS1
inst.lang=
使用 inst.lang= 选项设定您要在安装过程中使用的语言。locale -a | grep _ 或者 localectl list-locales | grep _ 命令返回区域列表。
inst.singlelang
使用 inst.singlelang 这个选项以单一语言模式安装,这将导致安装语言和语言支持配置没有可用的互动选项。如果使用 inst.lang 引导选项或者 lang Kickstart 命令指定语言,则会使用它。如果没有指定语言,安装程序会默认使用 en_US.UTF-8
inst.geoloc=

使用 inst.geoloc= 这个选项在安装程序中配置地理位置的使用。地理位置用于预设语言和时区,并使用以下语法: inst.geoloc=valuevalue 可以是以下参数:

表 16.6. inst.geoloc 引导选项的值

Value引导选项格式

禁用地理位置

inst.geoloc=0

使用 Fedora geoip API

inst.geoloc=provider_fedora_geoip

使用 Hostip.info GeoIP API

inst.geoloc=provider_hostip

如果您没有指定 inst.geoloc= 选项,安装程序将使用 provider_fedora_geoip

inst.keymap=
使用 inst.keymap= 选项指定您要用来安装的键盘布局。
inst.cmdline
使用 inst.cmdline 选项强制安装程序在命令行模式下运行。这个模式不允许任何互动,且您必须在 Kickstart 文件或者命令行中指定所有选项。
inst.graphical
使用 inst.graphical 选项强制安装程序在图形模式下运行。这个模式是默认的模式。
inst.text
使用 inst.text 选项强制安装程序在文本模式而不是图形模式下运行。
inst.noninteractive
使用 inst.noninteractive 引导选项以非互动模式运行安装程序。在非互动模式中不允许用户互动,inst.noninteractive 可用于图形或文本安装。当在文本模式中使用这个 inst.noninteractive 选项时,它的行为与 inst.cmdline 选项相同。
inst.resolution=
使用 inst.resolution= 选项指定图形模式中的页面分辨率。格式为 NxM,其中 N 是屏幕宽度, M 是页面高度(单位为像素)。最低分辨率为 1024x768。
inst.vnc
使用 inst.vnc 选项使用 VNC 运行图形安装。您必须使用 VNC 客户端应用程序与安装程序交互。启用 VNC 共享时,可以连接多个客户端。在文本模式中安装使用 VNC 启动的系统。
inst.vncpassword=
使用 inst.vncpassword= 选项设定安装程序使用的 VNC 服务器中的密码。
inst.vncconnect=
使用 inst.vncconnect= 选项连接到给定主机位置侦听的 VNC 客户端。例如, inst.vncconnect=<host>[:<port>] 默认端口为 5900。这个选项可以与 vncviewer -listen 一起使用。
inst.xdriver=
使用 inst.xdriver= 选项指定您要在安装过程中和安装的系统中使用的 X 驱动程序名称。
inst.usefbx
使用 inst.usefbx 选项提示安装程序使用帧缓冲 X 驱动程序,而不是具体硬件驱动程序。这个选项等同于 inst.xdriver=fbdev
modprobe.blacklist=

使用 modprobe.blacklist= 选项阻止列表或者完全禁用一个或多个驱动程序。在安装开始后,使用这个选项禁用的驱动(模式)不会被加载,在安装完成后,安装的系统还会保留这些设置。您可以在 /etc/modprobe.d/ 目录中找到 blocklisted 驱动程序列表。使用以逗号分隔的列表禁用多个驱动程序。例如:

modprobe.blacklist=ahci,firewire_ohci
inst.xtimeout=
使用 inst.xtimeout= 选项指定启动 X 服务器的超时时间(以秒为单位)。
inst.sshd

在安装过程中使用 inst.sshd 选项启动 sshd 服务,以便您可以在安装过程中使用 SSH 连接到该系统,并监控安装进程。有关 SSH 的详情请参考 ssh(1) man page。默认情况下,该 sshd 选项只在 IBM Z 构架中自动启动。在其它构架中,除非您使用 inst.sshd 选项,否则sshd 不会启动。

注意

在安装过程中,root 帐户默认没有密码。您可在安装过程中使用 sshpw Kickstart 命令设定 root 密码。

inst.kdump_addon=
使用 inst.kdump_addon= 选项启用或禁用安装程序中的 Kdump 配置页面(附加组件)。这个页面会默认启用;可以使用 inst.kdump_addon=off 来禁用它。禁用该附加组件可在图形和文本界面以及 %addon com_redhat_kdump Kickstart 命令中禁用 Kdump 页面。

16.6. 调试引导选项

本节介绍在调试问题时可以使用的选项。

inst.rescue
使用这个 inst.rescue 选项来运行救援环境。该选项对诊断和修复系统很有用。例如:您可以 在救援模式中修复文件系统
inst.updates=

使用 inst.updates= 选项指定您要在安装过程中应用的 updates.img 文件的位置。这些更新有很多源。

表 16.7. inst.updates= source updates

描述示例

从网络更新

使用 inst.updates= 的最简单方法是指定 updates.img 的网络位置。这不需要对安装树进行任何修改。要使用这个方法,请编辑内核命令行使其包含 inst.updates

inst.updates=http://some.website.com/path/to/updates.img.

从磁盘镜像更新

您可在软盘或者 USB 密钥中保存 updates.img。这只能使用 ext2 文件系统类型完成 updates.img。要在软盘驱动器中保存镜像内容,请插入软盘并运行命令。

dd if=updates.img of=/dev/fd0 bs=72k count=20.要使用 USB 密钥或者闪存介质,请使用您的 USB 密钥的设备名称替换 /dev/fd0

安装树中的更新

如果您使用 CD、硬盘、HTTP 或者 FTP 安装,您可以在安装树中保存 updates.img,以便所有安装都可检测到 .img 文件。将文件保存到 images/ 目录中。文件名必须是 updates.img

对于 NFS 安装,有两个选项: 您可以将镜像保存到 images/ 目录中,也可以保存在安装树的 RHupdates/ 目录中。

inst.loglevel=
使用 inst.loglevel= 选项指定终端日志信息的最小级别。这只考虑终端日志 ; 日志文件总是包含所有级别的信息。这个选项的可能值包括(从最低到最高级别): debuginfo warningerrorcritical。默认值为 info。这代表,默认情况下日志记录终端会显示的范围是从 infocritical
inst.syslog=
当安装启动时,inst.syslog= 选项会将日志信息发送到指定主机的 syslog 进程。必须将远程 syslog 进程配置为接受进入的连接。
inst.virtiolog=
使用 inst.virtiolog= 选项指定您要用于转发日志的 virtio 端口(字符设备 /dev/virtio-ports/name)。默认值为 org.fedoraproject.anaconda.log.0; 如果存在这个端口,则会使用它。
inst.zram=
inst.zram= 选项控制在安装过程中 zRAM swap 的使用。该选项会在系统 RAM 中创建压缩块设备,并使用 swap 空间而不是硬盘。这可让安装程序在不压缩的情况下以小的可用内存运行,而且可能会加快安装速度。默认情况下,在内存超过 2 GiB 的系统中在 zRAM 上启用 swap,并在内存超过 2 GiB 的系统中禁用 swap。您可以使用这个选项来更改此行为 ; 在超过 2 GiB RAM 的系统中,使用 inst.zram=1 启用这个功能 ; 在内存为 2 GiB 或更少内存的系统中,使用 inst.zram=0 用来禁用这个功能。
rd.live.ram
如果指定该 rd.live.ram 选项,stage 2 镜像将复制到 RAM 中。当 stage 2 镜像位于 NFS 服务器中时,使用这个选项会将该镜像大小大约增加 500 MiB。
inst.nokill
inst.nokill 选项是一个调试选项,可防止安装程序在出现致命错误或安装过程结束时重启。使用 inst.nokill 选项捕获重启后会丢失的安装日志。
inst.noshell
如果您在安装过程中不希望在终端会话 2(tty2)中有一个 shell,使用 inst.noshell 选项。
inst.notmux
如果您不想在安装过程中使用 tmux,使用 inst.notmux 选项。输出在没有终端控制字符的情况下生成,用于非互动性。
inst.remotelog=
您可以使用 inst.remotelog= 选项通过 TCP 连接将所有日志发送到远程 host:port。如果没有监听程序而安装正常进行,则该连接将会停用。

16.7. 存储启动选项

inst.nodmraid
使用 inst.nodmraid 选项禁用 dmraid 支持。
警告

请小心使用这个选项。如果您的磁盘被错误地识别为固件 RAID 阵列的一部分,那么您可能有一些过时的 RAID 元数据必须使用适当的工具删除,例如 dmraidwipefs

inst.nompath
使用 inst.nompath 此选项禁用对多路径设备的支持。这个选项可用于遇到假正(false-positive)的系统中,这样会错误地将普通块设备识别为多路径设备。其他情况都不需要使用这个选项。
警告

请小心使用这个选项。您不应该在多路径硬件中使用这个选项。使用这个选项试图安装到多路径的单一路径不被支持。

inst.gpt
inst.gpt 引导选项强制安装程序在 GUID 分区表(GPT)而不是主引导记录(MBR)中安装分区信息。这个选项在基于 UEFI 的系统上无效,除非采用与 BIOS 兼容的模式。通常,基于 BIOS 的系统和基于 UEFI 的系统在兼容模式下尝试使用 MBR 模式来存储分区信息,除非磁盘大小为 2^32 个扇区或大于 2 个扇区。磁盘扇区大小通常是 512 字节,通常相当于 2 TiB。使用 inst.gpt 引导选项可更改此行为,允许将 GPT 写入较小的磁盘。

16.8. Kickstart 引导选项

这部分包含有关 Kickstart 引导选项的信息。

inst.ks=

使用 inst.ks= 引导选项定义您要用于自动化安装的 Kickstart 文件的位置。然后,可以使用任何 inst.repo 格式指定位置。如果您指定设备而不是路径,安装程序会在您指定设备的 /ks.cfg 中查找 Kickstart 文件。如果您使用这个选项但没有指定设备,安装程序将使用以下选项:

inst.ks=nfs:next-server:/filename

在前面的例子中,next-server 是 DHCP 服务器的 next-server 选项或者 DHCP 服务器本身的 IP 地址,filename 是 DHCP 文件名选项,或 /kickstart/。如果给定文件名以这个 / 字符结尾, ip-kickstart 则会附加。下表包含示例。

表 16.8. 默认 Kickstart 文件位置

DHCP 服务器地址客户端地址kickstart 文件位置

192.168.122.1

192.168.122.100

192.168.122.1:/kickstart/192.168.122.100-kickstart

如果存在带有标签 OEMDRV 的卷,安装程序会尝试载入名为 ks.cfg 的 Kickstart 文件。如果您的 Kickstart 文件在这个位置,则不需要使用 inst.ks= 引导选项。

inst.ks.all
指定这个选项来连续尝试多个由多个 inst.ks 选项提供的 Kickstart 文件位置。使用第一个成功位置。这只适用于类型位置 http ftp, https 或者忽略其他位置。
inst.ks.sendmac

使用 inst.ks.sendmac 选项将标头添加到包含所有网络接口 MAC 地址的传出 HTTP 请求中。例如:

X-RHN-Provisioning-MAC-0: eth0 01:23:45:67:89:ab

这在使用 inst.ks=http 置备系统时非常有用。

inst.ks.sendsn

使用 inst.ks.sendsn 选项为传出的 HTTP 请求添加标头。这个标头包含从中读取的系统序列号 /sys/class/dmi/id/product_serial。标头具有以下语法:

X-System-Serial-Number: R8VA23D

其它资源

16.9. 高级安装引导选项

这部分包含有关高级安装引导选项的信息。

inst.kexec

inst.kexec 选项允许安装程序在安装结束时使用 kexec 系统调用,而不是重新启动。该 inst.kexec 选项会立即载入新系统,绕过通常由 BIOS 或固件执行的硬件初始化。

重要

这个选项已弃用,仅作为技术预览使用。如需有关红帽对技术预览功能支持范围的信息,请参阅技术预览功能支持范围文档

kexec 使用后,通常会在系统完全重启后清除的设备注册,可能会仍然使用数据,这可能会给一些设备驱动程序造成问题。

inst.multilib

使用 inst.multilib 引导选项为多 lib 软件包配置系统,即允许在 64 位 AMD64 或者 Intel 64 系统中安装 32 位软件包。通常在 AMD64 或者 Intel 64 系统中,只安装用于这个构架(标记为 x86_64)的软件包以及用于所有架构(标记为 noarch)的软件包。当您使用 inst.multilib 引导选项时,32 位 AMD 或者 Intel 系统(标记为 i686)的软件包会被自动安装。

这只适用于在 %packages 本节中直接指定的软件包。如果软件包作为相依性安装,则只会安装指定的相依性。例如:如果您要安装依赖 glibc 软件包的 bash 软件包,安装的软件包会安装多个变体,被依赖的软件包会在 bash 软件包需要的变体中安装。

selinux=0

默认情况下, selinux=0 引导选项在安装程序的 permissive 模式下运行,并在安装的系统中以 enforcing 模式运行。selinux=0 引导选项禁止在安装程序和安装的系统中使用 SELinux。

注意

inst.selinux=0 选项 selinux=0 和选项不同。该 selinux=0 选项禁止在安装程序和安装的系统中使用 SELinux。该 inst.selinux=0 选项只禁用安装程序中的 SELinux。默认情况下,SELinux 在安装程序中以 permissive 模式运行,因此禁用 SELinux 不会起作用。

inst.nonibftiscsiboot
使用 inst.nonibftiscsiboot 引导选项将引导加载程序放在没有在 iSCSI 引导固件表(iBFT)中配置的 iSCSI 设备中。

16.10. 弃用的引导选项

本节包含已弃用的引导选项的信息。安装程序仍然可以接受这些选项,但它们已被弃用,并计划在以后的 Red Hat Enterprise Linux 版本中删除。

method
method 选项是一个 inst.repo 的别名。
dns
使用 nameserver 而不是使用 dns。请注意,名称服务器不接受用逗号分开的列表 ; 使用多个名称服务器选项。
netmask, gateway, hostname
netmaskgatewayhostname 选择作为 ip 选项的一部分提供。
ip=bootif
自动使用由 PXE 提供的 BOOTIF 选项,因此无需使用 ip=bootif
ksdevice

表 16.9. ksdevice 引导选项的值

Value信息

不存在

不适用

ksdevice=link

忽略,这个选项与默认行为相同

ksdevice=bootif

如果 BOOTIF= 存在会忽略,这个选项是默认的

ksdevice=ibft

使用 ip=ibft 替换。查看 ip

ksdevice=<MAC>

替换为 BOOTIF=${MAC/:/-}

ksdevice=<DEV>

替换为 bootdev

16.11. 删除引导选项

这部分包含从 Red Hat Enterprise Linux 中删除的引导选项。

注意

dracut 提供高级引导选项。有关 dracut 详情请参考 dracut.cmdline(7) man page。

askmethod, asknetwork
initramfs 完全非交互式,因此删除了 asknetwork 选项 askmethod 和选项。反之,请使用 inst.repo 或者指定适当的网络选项。
blacklist, nofirewire
modprobe 选项处理阻止列出内核模块,使用 modprobe.blacklist=<mod1>,<mod2>。您可以使用 modprobe.blacklist=firewire_ohci 阻塞 firewire 模块。
inst.headless=
headless= 指定要安装的系统没有任何显示硬件,且安装程序不需要查找任何显示硬件。
inst.decorated
inst.decorated 选项用于在解码窗口中指定图形安装。默认情况下,这个窗口是不分离的,所以它没有标题栏,改变控制大小等等。这个选项已不再需要。
repo=nfsiso
使用 inst.repo=nfs: 选项。
serial
使用 console=ttyS0 选项。
updates
使用 inst.updates 选项。
essid, wepkey, wpakey
Dracut 不支持无线网络。
ethtool
这个选项已不再需要。
gdb
这个选项已被删除,因为有很多可用来调试基于 dracut 的选项 initramfs
inst.mediacheck
使用 dracut option rd.live.check 选项。
ks=floppy
使用 inst.ks=hd:<device> 选项。
显示
对于 UI 的远程显示,使用 inst.vnc 选项。
utf8
因为默认的 TERM 设置的行为如预期,所以不再需要这个选项。
noipv6
IPv6 是内置在内核中,不能被安装程序删除。您可以使用 ipv6.disable=1 禁用 ipv6。安装的系统将使用这个设置。
upgradeany
因为安装程序不再处理升级,所以不再需要这个选项。

第 17 章 使用 UEFI 安全引导引导试用系统

本章介绍了在启用了 UEFI 安全引导的系统中为引导 Red Hat Enterprise Linux Beta 版本而要执行的步骤。

17.1. UEFI 安全引导和 RHEL Beta 版本

UEFI 安全引导要求操作系统内核使用可识别的私钥进行签名。UEFI 安全引导然后使用对应的公钥验证签名。

对于红帽企业 Linux 测试版,内核使用特定于红帽 Beta 的私钥进行签名。UEFI 安全引导尝试使用对应的公钥验证签名,但由于硬件无法识别 Beta 私钥,因此 Red Hat Enterprise Linux Beta 版本系统无法引导。因此,要在 Beta 版本中使用 UEFI 安全引导,请使用 Machine Owner Key(MOK)功能将红帽 Beta 公钥添加到您的系统中。

17.2. 为 UEFI 安全引导添加 Beta 公钥

本节介绍如何为 UEFI 安全引导添加 Red Hat Enterprise Linux Beta 公钥。

先决条件

  • 在系统中禁用 UEFI 安全引导。
  • 已安装 Red Hat Enterprise Linux Beta 版本,即使系统重启,安全引导也会被禁用。
  • 您已登录到系统,Initial Setup 窗口中的任务已完成。

流程

  1. 开始将红帽 Beta 公钥注册到系统机器所有者密钥(MOK)列表中:

    # mokutil --import /usr/share/doc/kernel-keys/$(uname -r)/kernel-signing-ca.cer

    $(uname -r) 被内核版本替代 - 例如,4.18.0-80.el8.x86_64

  2. 出现提示时输入密码。
  3. 重新启动系统并按任意键继续启动。Shim UEFI 密钥管理实用程序在系统启动期间启动。
  4. 选择"注册 MOK "。
  5. 选择 Continue
  6. 选择"是 "并输入密码。密钥导入到系统的固件中。
  7. 选择"重新启动 "。
  8. 在系统上启用安全引导。

17.3. 删除 Beta 公钥

如果您计划删除红帽企业 Linux Beta 版本,并安装红帽企业 Linux 正式发行(GA)版本或不同的操作系统,请删除 Beta 公钥。

这个步骤描述了如何删除 Beta 公钥。

流程

  1. 开始从系统的 Machine Owner Key(MOK)列表中删除 Red Hat Beta 公钥:

    # mokutil --reset
  2. 出现提示时输入密码。
  3. 重新启动系统并按任意键继续启动。Shim UEFI 密钥管理实用程序在系统启动期间启动。
  4. 选择重置 MOK
  5. 选择 Continue
  6. 选择"是",并输入在第 2 步中指定的密码。密钥已从系统的固件中删除。
  7. 选择"重新启动 "。

部分 V. Kickstart 参考

附录 A. kickstart 脚本文件格式参考

这个参考详细描述了 kickstart 文件格式。

A.1. kickstart 文件格式

Kickstart 脚本是包含安装程序识别的关键字的纯文本文件,它们是安装指令。任何可将文件保存为 ASCII 文本的文本编辑,,比如 Geditvim (Linux 系统),或 Notepad(Windows 系统),都可以用来创建和编辑 Kickstart 文件。Kickstart 配置的文件名无关紧要,但建议使用简单名称,因为您需要在其他配置文件或对话框中指定这个名称。

命令
命令是作为安装指令的关键字。每个命令都必须位于一行。命令可以选择。指定命令和选项和在 shell 中使用 Linux 命令类似。
部分
某些以百分比开头的特殊命令 % 启动一个部分。部分中的命令解释与其它部分的命令不同。每个部分都必须使用 %end 命令完成。
部分类型

可用的部分有:

  • Add-on 部分。这些部分使用 %addon addon_name 命令。
  • 软件包选择部分。以 %packages 开始。使用它列出安装的软件包,包括间接方法,比如软件包组或者模块。
  • Script 部分。它们以 %pre%pre-install%post%onerror 开始这些部分不是必需的。
command 部分
command 部分是那些不属于任何 script 部分或 %packages 部分的 Kickstart 文件中的命令的术语。
脚本部分计数和排序
除 command 部分外的所有部分都是可选的,并可以多次出现。当对某个特定类型的脚本进行评估时,Kickstart 中所有该类型的所有部分都会按外观顺序评估:两个 %post 部分会根据出现的顺序进行评估。然而,您不必按任何顺序指定各种脚本部分类型:在 %pre 部分前是否有 %post 部分是无关紧要的。
注释
Kickstart 注释是以 hash # 字符开头的行。安装程序会忽略这些行。

不必需的项目可以被省略。省略安装程序中任何需要的项目,以便用户可以像常规互动安装过程中一样提供对相关项目的回答。您还可以将 kickstart 脚本声明为非互动 cmdline 命令。在非互动模式中,任何缺少的回答都会中止安装过程。

A.2. Kickstart 中的软件包选择

Kickstart 使用 %packages 命令启动的部分来选择要安装的软件包。您可以以这种方式安装软件包、组、环境、模块流和模块配置集。

A.2.1. 软件包选择部分

使用该 %packages 命令来开始 Kickstart 部分,它描述了要安装的软件包。这个 %packages 部分必须以 %end 命令结尾。

您可以根据环境、组、模块流、模块配置集或者它们的软件包名称指定软件包。定义了包含相关软件包的几个环境和组。有关环境和组列表请查看 Red Hat Enterprise Linux 8 安装 DVD 中的该 repository/repodata/*-comps-repository.architecture.xml 文件。

*-comps-repository.architecture.xml 文件包含描述可用环境(由标签标记)和组( <environment> 标签)的结构 <group>。每个条目都有一个 ID、用户可见值、名称、描述和软件包列表。如果为安装选择了组,则在软件包列表中标记了 mandatory 的软件包总会被安装;如果其它位置没有特别排除,标记了default 的软件包也会被安装,标记为 optional 的软件包需要在其他地方被指定包括时才会安装,即使已经选择该组也是如此。

您可以使用其 ID(标签)或名称( <id> 标签)指定软件包组或环境 <name>

如果您不确定应该安装哪些软件包,红帽建议您选择 Minimal Install 环境。Minimal Install 仅提供运行 Red Hat Enterprise Linux 8 所需的软件包。这将显著降低系统受某个漏洞影响的机会。如果需要,可以在安装后再添加附加软件包。如需了解更多与 相关的信息 Minimal Install请查看 安全硬化 https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html-single/security_hardening/index#Minimal_install_configuring-and-managing-security 文档中的安装最低软件包量部分。请注意: Initial Setup 除非安装了一个桌面环境和 X 窗口系统,且启用了图形登录,否则无法从 Kickstart 文件运行系统。

重要

要在 64 位系统中安装 32 位软件包:

  • %packages 部分指定 --multilib 选项
  • 使用构建该软件包的 32 位构架附加软件包名称,例如: glibc.i686

A.2.2. 软件包选择命令

这些命令可在 Kickstart 文件 %packages 部分使用。

指定一个环境

@^ 符号开头的行形式指定要安装的整个环境:

%packages
@^Infrastructure Server
%end

这会安装作为 Infrastructure Server 环境一部分的所有软件包。Red Hat Enterprise Linux 8 安装 repository/repodata/*-comps-repository.architecture.xml DVD 中描述的所有可用环境。

在 Kickstart 文件中只能指定一个环境。如果指定了多个环境,则只使用最后指定的环境。

指定组

指定组,每个条目一行,以 @ 符号开头,然后是 *-comps-repository.architecture.xml 文件中给出的完整组群名称或者组群 ID。例如:

%packages
@X Window System
@Desktop
@Sound and Video
%end

Core 组总是被选择 - 并不需要在 %packages 部分中指定它。

指定单独的软件包

根据名称指定单个软件包,每个条目对应一行。您可以在软件包名称中使用星号(*)作为通配符。例如:

%packages
sqlite
curl
aspell
docbook*
%end

docbook* 条目包含软件包 docbook-style , docbook-dtds 与通配符代表的模式匹配。

指定模块流的配置集

使用配置集语法为模块流指定配置集(一个条目为一行):

%packages
@module:stream/profile
%end

这会安装模块流指定配置集中列出的所有软件包。

  • 当模块指定了默认流时,您可以将其退出。如果没有指定默认流,您必须指定它。
  • 当模块流指定默认配置集时,您可以将其退出。如果没有指定默认配置集,您必须指定它。
  • 无法多次使用不同流安装模块。
  • 有可能安装同一模块和流的多个配置集。

模块和组使用以 @ 符号开头的同一语法。当某个模块和软件包组具有相同名称时,该模块会优先使用。

在 Red Hat Enterprise Linux 8 中,只有 AppStream 软件仓库提供模块。要列出可用的模块,使用安装的 Red Hat Enterprise Linux 8 系统中的 yum module list 命令。

您还可以使用 module Kickstart 命令启用模块流,然后通过直接命名模块流中的软件包来安装它们。

排除环境、组群或者软件包

使用前横线(-)指定安装中排除的软件包或组。例如:

%packages
-@Graphical Administration Tools
-autofs
-ipa*compat
%end
重要

不支持只使用 * Kickstart 文件安装所有可用软件包。

您可以使用几个选项来改变 %packages 本节的默认行为。有些选项可以用于整个软件包选择,其它选项只与特定的组一起使用。

其它资源

A.2.3. 通用软件包选择选项

以下选项可用于 %packages 部分。要使用某个选项,请将其附加到软件包选择部分的开头。例如:

%packages --multilib --ignoremissing
--default
安装默认软件包组。这与软件包集对应,如果没有在 中进行其他选择,则会安装该软件包集 Package Selection 交互式安装期间的屏幕.
--excludedocs
不要安装软件包中的任何文档。在大多数情况下,这不包括通常安装在 /usr/share/doc 目录中的任何文件,但要排除的具体文件取决于各个软件包。
--ignoremissing
忽略安装源中缺少的软件包、组、模块流、模块配置集和环境,而不是停止安装来询问安装是中止还是继续。
--instLangs=
指定要安装的语言列表。请注意,这与软件包组级别选择不同。这个选项没有描述应该安装哪些软件包组,而是设定 RPM 宏控制应该安装单个软件包的转换文件。
--multilib

为多 lib 软件包配置安装的系统,允许在 64 位系统中安装 32 位软件包,并安装在这部分中指定的软件包。

通常在 AMD64 和 Intel 64 系统中,您只能安装 x86_64 和 noarch 软件包。但是,使用 --multilib 选项,您可以自动安装 32 位 AMD 和 i686 Intel 系统软件包(若有)可用。

这只适用于在 %packages 部分中明确指定的软件包。那些只作为相依性安装而没有在 Kickstart 文件中指定的软件包只能安装到需要它们的架构版本中,即使它们可用于更多构架。

用户可将 Anaconda 配置为在安装系统的过程中以 multilib 模式安装软件包。使用以下选项之一启用 multilib 模式:

  1. 使用以下行配置 Kickstart 文件:

    %packages --multilib --default
    %end
  2. 在引导安装镜像时添加 inst.multilib 引导选项。
--nocore

禁用默认会被安装的 @Core 软件包组。禁用 @Core 软件包组 --nocore 应该只用于创建轻量级容器 ; 安装桌面或服务器系统 --nocore 将导致系统不可用。

备注
  • 使用 -@Core 软件包组中的 @Core 软件包无法正常工作。排除 @Core 软件包组的唯一方法是 使用 --nocore 选项。
  • @Core 软件包组被定义为用来安装工作系统的最小软件包集合。它与软件包清单覆盖范围中定义的核心软件包无关。
--excludeWeakdeps
禁用从弱依赖项安装软件包。这些软件包都链接到由 Recommends 和 supplements 标记组成的所选软件包。默认情况下会安装弱依赖项。
--retries=
设置 Yum 试图下载软件包的次数(尝试)。默认值为 10。这个选项只适用于安装程序,它不会影响安装的系统上的 Yum 配置。
--timeout=
以秒为单位设定 Yum 超时。默认值为 30。这个选项只适用于安装程序,它不会影响安装的系统上的 Yum 配置。

A.2.4. 特定软件包组的选项

这个列表中的选项仅适用于单个软件包组。不是在 Kickstart 文件中的 %packages 命令中使用它们,而是将其附加到组群名称中。例如:

%packages
@Graphical Administration Tools --optional
%end
--nodefaults
只安装组的强制软件包,而不是默认选择。
--optional

除安装默认选择外,还要安装在 *-comps-repository.architecture.xml 文件中组定义中标记为可选的软件包。

请注意,有些软件包组,比如 Scientific Support,没有指定任何强制或默认软件包 - 只有可选软件包。在这种情况下必须总是使用 --optional 选项,否则不会安装该组中的软件包。

A.3. Kickstart 文件中的脚本

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

  • %pre
  • %pre-install
  • %post

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

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

A.3.1. %pre 脚本

%pre 脚本会在载入 Kickstart 文件后立即在系统中运行,但在完全解析及开始安装前。每个部分必须以 %pre 开头并以 %end 结尾。

这个 %pre 脚本可用于激活和配置联网和存储设备。还可以使用安装环境中可用的脚本来运行脚本。如果您在安装前有需要特殊配置的联网和存储,或者有设置其他日志参数或环境变量的脚本,则可以添加, %pre 脚本。

使用 %pre 脚本调试问题会比较困难,因此建议仅在需要时使用 %pre 脚本。

除了安装环境 /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 8 中 Python 的详情,请查看配置基本系统设置中的 Python 简介

--erroronfail
显示错误并在脚本失败时暂停安装。错误消息会指示您记录故障原因的位置。
--log=

将脚本的输出记录到指定的日志文件中。例如:

%pre --log=/tmp/ks-pre.log

A.3.2. %pre-install 脚本

pre-install 脚本中的命令是在以下任务完成后运行:

  • 系统已被分区
  • 文件系统创建并挂载到 /mnt/sysimage 中
  • 网络已根据任何引导选项和 kickstart 命令进行配置

每个 %pre-install 部分必须以 %pre-install 开头并以 %end 结尾。

这些 %pre-install 脚本可以用来修改安装,并在软件包安装前添加有保证 ID 的用户和组群。

建议您在安装所需的任何修改中使用 %post 脚本。只有在 %pre-install 脚本在需要修改的 %post 脚本短时才使用该脚本。

注意: The pre-install 脚本不会在 chroot 环境中运行。

A.3.2.1. %pre-install script 部分选项

以下选项可以用来改变 pre-install 脚本的行为。要使用某个选项,将其附加到脚本开头的 %pre-install 行中。例如:

%pre-install --interpreter=/usr/libexec/platform-python
-- Python script omitted --
%end

请注意,您可以有多个 %pre-install 部分,它们具有相同或不同的解析程序。它们按照它们在 Kickstart 文件中的顺序进行评估。

--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 8 中 Python 的详情,请查看配置基本系统设置中的 Python 简介

--erroronfail
显示错误并在脚本失败时暂停安装。错误消息会指示您记录故障原因的位置。
--log=

将脚本的输出记录到指定的日志文件中。例如:

%pre-install --log=/mnt/sysimage/root/ks-pre.log

A.3.3. %post 脚本

%post 脚本是安装后脚本,可在安装完成后运行,但在第一次重启系统前运行。您可以使用这部分来运行任务,比如系统订阅。

您可以添加系统在安装结束后但在第一次重启该系统之前要运行的命令,。这个部分必须以 %post 开头并以 %end 结尾。

%post 一节对安装其他软件或配置其他名称服务器等功能很有用。post-install 脚本是一个 chroot 环境中运行的,因此,从安装介质中复制脚本或 RPM 软件包等任务在默认情况下不起作用。您可使用 --nochroot 选项更改此行为,如下所述。然后 %post 脚本将在安装环境中运行,而不是在安装 chroot 的目标系统中运行。

因为安装后脚本在一个 chroot 环境中运行,所以大多数 systemctl 命令会拒绝执行任何操作。

请注意,在执行 %post 这部分的过程中,安装介质必须仍被插入。

A.3.3.1. %post 脚本部分选项

以下选项可以用来改变安装后脚本的行为。要使用某个选项,请将其附加到脚本开头的 %post 行中。例如:

%post --interpreter=/usr/libexec/platform-python
-- Python script omitted --
%end
--interpreter=

允许指定不同的脚本语言,如 Python。例如:

%post --interpreter=/usr/libexec/platform-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 8 中 Python 的详情,请查看配置基本系统设置中的 Python 简介

--nochroot

允许您指定在 chroot 环境之外运行的命令。

以下示例将 /etc/resolv.conf 文件复制到刚安装的文件系统中。

%post --nochroot
cp /etc/resolv.conf /mnt/sysimage/etc/resolv.conf
%end
--erroronfail
显示错误并在脚本失败时暂停安装。错误消息会指示您记录故障原因的位置。
--log=

将脚本的输出记录到指定的日志文件中。请注意,无论您是否使用 --nochroot 选项,日志文件的路径都必须考虑它。例如,没有 --nochroot:

%post --log=/root/ks-post.log

并且使用 --nochroot:

%post --nochroot --log=/mnt/sysimage/root/ks-post.log

A.3.3.2. 示例:在安装后脚本中挂载 NFS

这个示例的 %post 部分挂载 NFS 共享并执行名为 runme,位于 /usr/new-machines/ 共享中的脚本。请注意,在 Kickstart 模式中不支持 NFS 文件锁定,因此-o nolock 选项是必需的。

# Start of the %post section with logging into /root/ks-post.log
%post --log=/root/ks-post.log

# Mount an NFS share
mkdir /mnt/temp
mount -o nolock 10.10.0.2:/usr/new-machines /mnt/temp
openvt -s -w -- /mnt/temp/runme
umount /mnt/temp

# End of the %post section
%end

A.3.3.3. 示例:将 subscription-manager 作为安装后脚本运行

Kickstart 安装中最常用的安装脚本之一就是使用 Red Hat Subscription Manager 自动注册安装的系统。以下是 %post 脚本中的自动订阅示例:

%post --log=/root/ks-post.log
subscription-manager register --username=admin@example.com --password=secret --auto-attach
%end

subscription-manager 命令行脚本在红帽订阅管理服务器(客户门户网站订阅管理、Satellite 6 或者 CloudForms System Engine)中注册系统。这个脚本还可用来自动在该系统中分配或者附加与该系统最匹配的订阅。在客户门户网站中注册时,请使用红帽网络登录证书。当在 Satellite 6 或者 CloudForms System Engine 中注册时,您可能需要指定更多 subscription-manager 选项 --serverurl --org, --environment 以及您的本地管理员提供的凭证。请注意,以 --org --activationkey 组合格式的凭证是避免在共享的 kickstart 文件中公开 --username --password 值的好方法。

注册命令中可以使用附加选项为系统设置首选服务等级,并为那些需要在旧流中继续修复的延长更新支持订阅客户限制对特定 RHEL 次要版本的更新和勘误。

另外,请参阅红帽客户门户网站 中的如何在 kickstart 文件中使用 subscription-manager?一文 subscription-manager 中的有关使用 Kickstart %post 部分的附加信息。

A.4. Anaconda 配置部分

可在您的 Kickstart 文件 %anaconda 部分配置附加安装选项。这部分控制安装系统的用户界面行为。

这个部分必须处于 Kickstart 文件的最后(在 Kickstart 命令之后),且必须以 %anaconda 开头并以 %end 结尾。

目前,这个 %anaconda 部分中唯一可以使用的命令是 pwpolicy

例 A.1. %anaconda 脚本示例

以下是 %anaconda 部分示例:

%anaconda
pwpolicy root --minlen=10 --strict
%end

这个示例 %anaconda 部分设定密码策略,即 root 密码至少有 10 个字符,并严格禁止不满足这个要求的密码。

A.5. Kickstart 错误处理部分

从 Red Hat Enterprise Linux 7 开始,Kickstart 安装可以包含安装程序遇到致命错误时运行的自定义脚本。例如:已经为安装请求的软件包中有一个错误,指定时无法启动 VNC,或者在扫描存储设备时出错。发生此类错误后安装无法继续。安装程序会按照在 Kickstart 文件中提供的顺序运行所有 %onerror 脚本。另外,%onerror 脚本还会在回溯事件中运行。

每个 %onerror 脚本都需要以 %end 结尾。

错误处理部分接受以下选项:

--erroronfail
显示错误并在脚本失败时暂停安装。错误消息会指示您记录故障原因的位置。
--interpreter=

允许指定不同的脚本语言,如 Python。例如:

%onerror --interpreter=/usr/libexec/platform-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 8 中 Python 的详情,请查看配置基本系统设置中的 Python 简介

--log=
将脚本的输出记录到指定的日志文件中。

A.6. Kickstart 附加组件部分

从 Red Hat Enterprise Linux 7 开始,Kickstart 安装支持附加组件。这些附加组件可以在很多方面扩展基本 Kickstart(Anaconda)功能。

要在 Kickstart 文件中使用附加组件,请使用 %addon addon_name options 命令,并使用 %end 语句完成命令,这和预安装和安装后脚本部分类似。例如:如果要使用默认由 Anaconda 分配的 Kdump 附加组件,请使用以下命令:

%addon com_redhat_kdump --enable --reserve-mb=auto
%end

%addon 命令不包含任何其自身的选项 - 所有选项都依赖实际附加组件。

附录 B. Kickstart 命令和选项参考

这个参考是 Red Hat Enterprise Linux 安装程序支持的所有 Kickstart 命令的完整列表。这些命令按字母顺序排序为几个广泛类别。如果某个命令可位于多个类别下,它将列在所有这些类别中。

B.1. Kickstart 的修改

以下小节描述了 Red Hat Enterprise Linux 8 中 Kickstart 命令和选项的更改。

B.1.1. 在 RHEL 8 中弃用了 auth 或 authconfig

因为已经删除了该 authconfig 工具和软件包,所以在 Red Hat Enterprise Linux 8 中弃用了 authauthconfig Kickstart 命令。

和命令行中的 authconfig 命令类似,Kickstart 脚本中的 authconfig 命令现在使用这个 authselect-compat 工具来运行新 authselect 工具。有关这个兼容性层及其已知问题的描述,请查看手册页 authselect-migration(7)。安装程序将自动检测弃用命令的使用并在系统上安装该 authselect-compat 软件包以提供兼容性层。

B.1.2. Kickstart 不再支持 Btrfs

Red Hat Enterprise Linux 8 不支持 Btrfs 文件系统。因此,图形用户界面(GUI)和 Kickstart 命令不再支持 Btrfs。

B.1.3. 使用之前 RHEL 发行本中的 Kickstart 文件

如果您正在使用之前的 RHEL 版本中的 Kickstart 文件,请参阅 RHEL 8 文档中Repositories 部分,以了解有关 Red Hat Enterprise Linux 8 BaseOS 和 AppStream 软件仓库的详情。

B.1.4. 弃用的 Kickstart 命令和选项

在Red Hat Enterprise Linux 8 中弃用了以下 Kickstart 命令和选项。

如果只列出具体选项,则基础命令及其它选项仍可用且没有弃用。

  • auth 或者 authconfig - 使用 authselect instead
  • device
  • deviceprobe
  • dmraid
  • install - 直接使用子命令或者方法作为命令
  • multipath
  • bootloader --upgrade
  • ignoredisk --interactive
  • partition --active
  • reboot --kexec

authauthconfig 命令外,使用 Kickstart 文件中的命令在日志中打印警告信息。

您可以使用 inst.ksstrict 引导选项将已弃用的命令警告放入出错信息,但 authauthconfig 命令除外。

B.1.5. 删除的 Kickstart 命令和选项

在 Red Hat Enterprise Linux 8 中完全删除了以下 Kickstart 命令和选项。在 Kickstart 文件中使用它们将导致错误。

  • upgrade (这个命令之前已弃用。)
  • btrfs
  • part/partition btrfs
  • part --fstype btrfs 或者 partition --fstype btrfs
  • logvol --fstype btrfs
  • raid --fstype btrfs
  • unsupported_hardware

如果只列出具体选项和值,则基础命令及其它选项仍可用且没有被删除。

B.2. 用于安装程序配置和流量控制的 Kickstart 命令

这个列表中的 Kickstart 命令可控制安装模式和安装过程,以及最后发生什么。

B.2.1. cdrom

cdrom Kickstart 命令是可选的。它使用系统上的第一个光驱执行安装。

语法

cdrom

备注

  • 在以前的版本中,cdrom 命令必须与 install 命令一同使用。该 install 命令已弃用,cdrom 可以自行使用,因为它代表了 install
  • 这个命令没有选项。
  • 要真正运行安装,指定 cdromharddrivehmcnfsliveimgurl 之一。

B.2.2. cmdline

cmdline Kickstart 命令是可选的。它以完全非互动的命令行模式执行安装。任何互动提示都会终止安装。

语法

cmdline

备注

  • 要进行完全自动安装,您必须在 Kickstart 文件中指定可用模式之一 (graphicaltextcmdline),或者必须使用 console= 引导选项。如果没有指定模式,系统会尽可能使用图形模式,或者提示您从 VNC 和文本模式中选择。
  • 这个命令没有选项。
  • 这个模式对使用 x3270 终端的 IBM Z 系统有用。

B.2.3. driverdisk

driverdisk Kickstart 命令是可选的。使用它为安装程序提供额外的驱动程序。

可在 Kickstart 安装过程中使用驱动程序磁盘提供默认不包括的额外驱动程序。您必须将驱动程序磁盘内容复制到系统的硬盘分区的根目录下。然后,必须使用 driverdisk 命令来指定安装程序是否应该寻找驱动程序磁盘及其位置。

语法

driverdisk [partition|--source=url|--biospart=biospart]

选项

您必须以以下一种方式指定驱动程序磁盘的位置:

  • partition - 包含驱动程序磁盘的分区。请注意,必须把分区指定为完整路径(例如 /dev/sdb1), 不能 只使用分区名称(如 sdb1)。
  • --source= - 驱动程序磁盘的 URL。示例包括:

    driverdisk --source=ftp://path/to/dd.img
    driverdisk --source=http://path/to/dd.img
    driverdisk --source=nfs:host:/path/to/dd.img
  • --biospart= - BIOS 分区包含驱动程序磁盘(例如: 82p2)。

备注

还可以从硬盘或者类似的设备载入驱动程序磁盘,而不必通过网络或者从中载入 initrd。按照以下步骤操作:

  1. 在硬盘、USB 或者类似设备中载入驱动程序磁盘。
  2. 将标签(如 DD )设置为这个设备。
  3. 在您的 Kickstart 文件中添加以下行:

    driverdisk LABEL=DD:/e1000.rpm

使用特定标签替换 DD,并使用具体名称替换 dd.rpm。使用该 inst.repo 命令支持的任何内容而不是 LABEL 指定您的硬盘。

B.2.4. EULA

eula Kickstart 命令是可选的。使用这个选项在没有用户互动的情况下接受最终用户许可证协议(End User License Agreement,EULA)。指定这个选项可防止 Initial Setup 在完成安装并第一次重启系统后提示您接受该许可证。如需更多信息,请参阅执行标准 RHEL 安装 文档中的 完成初始设置 部分。

语法

eula

选项

  • --agreed (强制)- 接受 EULA。必须总是使用这个选项,否则 eula 命令就毫无意义。
  • 这个命令没有选项。

B.2.5. firstboot

firstboot Kickstart 命令是可选的。它决定了 Initial Setup 应用程序是否在第一次引导系统时启动。如果启用,则使用 initial-setup 必须安装 软件包.如果没有指定,这个选项默认是禁用的。

语法

firstboot OPTIONS

选项

  • --enable 或者 --enabled - 系统第一次引导时启动 Initial Setup。
  • --disable 或者 --disabled - 系统第一次引导时不会启动 Initial Setup。
  • --reconfig - 在引导时以重新配置模式启用 Initial Setup。这个模式启用了语言、鼠标、键盘、root 密码、安全级别、时区以及默认网络配置之外的网络配置选项。

B.2.6. 图形化

graphical Kickstart 命令是可选的。它在图形模式下执行安装。这是默认值。

语法

graphical [--non-interactive]

选项

  • --non-interactive - 在完全非互动模式下执行安装。这个模式将在用户交互需要时终止安装。

备注

  • 要进行完全自动安装,您必须在 Kickstart 文件中指定可用模式之一 (graphicaltextcmdline),或者必须使用 console= 引导选项。如果没有指定模式,系统会尽可能使用图形模式,或者提示您从 VNC 和文本模式中选择。

B.2.7. halt

halt Kickstart 命令是可选的。

在成功完成安装后停止系统。这和手动安装相似,Anaconda 会显示一条信息并等待用户按任意键来重启系统。在 Kickstart 安装过程中,如果没有指定完成方法,将使用这个选项作为默认选项。

语法

halt

备注

  • halt 命令等同于 shutdown -H 命令。详情请查看 shutdown(8) man page。
  • 关于其他的完成方法,请参考 poweroffrebootshutdown 命令。
  • 这个命令没有选项。

B.2.8. harddrive

harddrive Kickstart 命令是可选的。它使用红帽安装树或者本地驱动器中的完整安装 ISO 镜像执行安装。驱动器必须包含安装程序可挂载的文件系统: ext2ext3 ext4 vfat、或 xfs

语法

harddrive OPTIONS

选项

  • --partition= - 安装的分区(如 sdb2)。
  • --dir= - 包含安装树 variant 目录或者完整安装 DVD 的 ISO 镜像的目录。

示例

harddrive --partition=hdb2 --dir=/tmp/install-tree

备注

  • 在以前的版本中,harddrive 命令必须与 install 命令一同使用。install 命令已弃用,harddrive 可以自行使用,因为它代表 install
  • 要真正运行安装,指定 cdromharddrivehmcnfsliveimgurl 之一。

B.2.9. install (已弃用)

重要

install Kickstart 命令在 Red Hat Enterprise Linux 8 中已弃用。使用它的方法作为单独的命令。

install Kickstart 命令是可选的。它指定了默认的安装模式。

语法

install
installation_method

备注

  • install 命令必须跟随一个安装方法命令。安装方法命令必须位于单独的行中。
  • 方法包括:

    • cdrom
    • harddrive
    • hmc
    • nfs
    • liveimg
    • url

    有关方法的详情,请查看其独立参考页面。

B.2.10. liveimg

liveimg Kickstart 命令是可选的。它从磁盘镜像而不是软件包执行安装。

语法

liveimg --url=SOURCE [OPTIONS]

必填选项

  • --url= - 从中进行安装的位置。支持的协议有 HTTP HTTPS FTP、和 file

可选选项

  • --url= - 从中进行安装的位置。支持的协议有 HTTP HTTPS FTP、和 file
  • --proxy= - 指定安装时要使用的 HTTP HTTPS 或者 FTP 代理。
  • --checksum= - 带有镜像文件的 SHA256 checksum 的可选参数,用于验证。
  • --noverifyssl - 连接到服务器时禁用 SSL 验证 HTTPS

示例

liveimg --url=file:///images/install/squashfs.img --checksum=03825f567f17705100de3308a20354b4d81ac9d8bed4bb4692b2381045e56197 --noverifyssl

备注

  • 该镜像可以是来自 live ISO 镜像的 squashfs.img 文件、压缩的 tar 文件(.tar .tbz.tgz.txz .tar.bz2.tar.gz.tar.xz),或者安装介质可挂载的任意文件系统。支持的文件系统有 ext2ext3 ext4 vfat、和 xfs
  • 当在驱动程序磁盘中使用 liveimg 安装模式时,磁盘中的驱动程序不会自动包含在安装的系统中。必要时,应该手动安装这些驱动程序,也可以在 kickstart 脚本 %post 部分手动安装这些驱动程序。
  • 在以前的版本中,liveimg 命令必须与 install 命令一同使用。该 install 命令已弃用,liveimg 可以单独使用,因为它代表了 install
  • 要真正运行安装,指定 cdromharddrivehmcnfsliveimgurl 之一。

B.2.11. logging

logging Kickstart 命令是可选的。它控制在安装过程中 Anaconda 的错误日志。它对安装的系统没有影响。

注意

只支持使用 TCP 记录日志。对于远程日志,请确保在远程服务器中打开您在 --port= 选项中指定的端口号。默认端口为 514。

语法

logging OPTIONS

可选选项

  • --host= - 向给定的远程主机发送日志信息,该主机必须配置了运行 syslogd 进程来接收远程日志。
  • --port= - 如果远程 syslogd 进程使用默认意外的端口,则使用这个选项进行设置。
  • --level= - 指定 tty3 中显示的信息最小等级。无论这个级别是什么,仍会将所有的信息发送到日志文件。可能的值有 debug: infowarning error、或 critical

B.2.12. mediacheck

mediacheck Kickstart 命令是可选的。该命令强制安装程序在开始安装前执行介质检查。因为这个命令需要在执行安装时有人工参与,因此它默认被禁用。

语法

mediacheck

备注

  • 这个 Kickstart 命令等同于 rd.live.check 引导选项。
  • 这个命令没有选项。

B.2.13. nfs

nfs Kickstart 命令是可选的。它从指定的 NFS 服务器执行安装。

语法

nfs OPTIONS

选项

  • --server= - 要从中安装的服务器(主机名或 IP)。
  • --dir= - 包含安装树目录 variant 的目录。
  • --opts= - 用于挂载 NFS 导出的挂载选项(可选)。

示例

nfs --server=nfsserver.example.com --dir=/tmp/install-tree

备注

  • 在以前的版本中,nfs 命令必须与 install 命令一同使用。install 命令已弃用,nfs 可以自行使用,因为它代表了 install
  • 要真正运行安装,指定 cdromharddrivehmcnfsliveimgurl 之一。

B.2.14. ostreesetup

ostreesetup Kickstart 命令是可选的。它被用来设置基于 OStree 的安装。

语法

ostreesetup --osname=OSNAME [--remote=REMOTE] --url=URL --ref=REF [--nogpg]

必须的选项

  • --osname=OSNAME - 用于操作系统安装的管理根用户。
  • --url=URL - 要从中安装的程序库的 URL。
  • --ref=REF - 用于安装的程序库的分支名称。

可选选项:

  • --remote=REMOTE - 用于操作系统安装的管理根用户。
  • --nogpg - 禁用 GPG 密钥验证。

备注

B.2.15. poweroff

poweroff Kickstart 命令是可选的。它会在安装成功后关闭系统并关闭电源。通常,在手动安装过程中,Anaconda 会显示一条信息并等待用户按任意键来重新引导系统。

语法

poweroff

备注

  • poweroff 选项等同于 shutdown -P 命令。详情请查看 shutdown(8) man page。
  • 有关其他完成方法,请查看 haltrebootshutdown Kickstart 命令。如果没有在 Kickstart 文件中明确指定其它方法,则 halt 选项是默认的完成方法。
  • poweroff 命令高度依赖所使用的系统硬件。特别是,某些硬件部件如 BIOS、APM(高级电源管理)和 ACPI(高级配置和电源接口)必须能和系统内核交互。有关您系统的 APM/ACPI 功能的更多信息,请参考您的硬件文档。
  • 这个命令没有选项。

B.2.16. reboot

reboot Kickstart 命令是可选的。它指示安装程序在安装成功(没有参数)后重启。通常,Kickstart 会显示信息并等待用户按任意键来重新引导系统。

语法

reboot OPTIONS

选项

  • --eject - 在重启前尝试弹出可引导介质(DVD、USB 或者其它介质)。
  • --kexec - 使用 kexec 系统调用而不是执行完全重启,这样可立即将安装的系统载入内存,绕过通常由 BIOS 或者固件执行的硬件初始化。

    重要

    这个选项已弃用,仅作为技术预览使用。如需有关红帽对技术预览功能支持范围的信息,请参阅技术预览功能支持范围文档

    当使用kexec 时,设备注册(通常会在系统完全重启后清除)可能会留下一些数据,这可能会给一些设备驱动程序造成问题。

备注

  • 取决于安装介质和方法,使用 reboot 选项可能会导致安装的死循环。
  • reboot 选项等同于 shutdown -r 命令。详情请查看 shutdown(8) man page。
  • reboot 在 IBM Z 中使用命令行模式安装时指定要完全自动化安装。
  • 有关其他完成方法,请查看 haltpoweroffshutdown Kickstart 选项。如果没有在 Kickstart 文件中明确指定其它方法,则 halt 选项是默认的完成方法。

B.2.17. rhsm

rhsm Kickstart 命令是可选的。它指示安装程序从 CDN 注册并安装 RHEL。

注意

在注册系统时,rhsm Kickstart 命令删除了使用自定义 %post 脚本的要求。

选项

  • --organization= - 使用机构 id 从 CDN 注册并安装 RHEL。
  • --activation-key= - 使用激活码从 CDN 注册并安装 RHEL。只要在您的订阅中进行了注册,就可以使用多个激活码。
  • --connect-to-insights - 将目标系统连接到 Red Hat Insights。
  • --proxy= - 设置 HTTP 代理。
  • --server-hostname= - 设置服务器主机名。如果您正在运行 Satellite 服务器或者执行内部测试,则使用这个选项。
  • --rhsm-baseurl= - 设定 rhsm baseurl 选项。如果您正在运行 Satellite 服务器或者执行内部测试,则使用这个选项。
注意

服务器主机名不需要 HTTP 协议,例如 --server-hostname="nameofhost.com"。rhsm baseurl 确实需要 HTTP 或 HTTPS 协议,如 --rhsm-baseurl="https://satellite.example.com/pulp/repos"

B.2.18. shutdown

shutdown Kickstart 命令是可选的。它会在安装成功完成后关闭系统。

语法

shutdown

备注

  • shutdown Kickstart 选项等同于 shutdown 命令。详情请查看 shutdown(8) man page。
  • 有关其他完成方法,请查看 haltpoweroffreboot Kickstart 选项。如果没有在 Kickstart 文件中明确指定其它方法,则 halt 选项是默认的完成方法。
  • 这个命令没有选项。

B.2.19. sshpw

sshpw Kickstart 命令是可选的。

在安装过程中,您可以与安装程序交互并通过 SSH 连接监控其进度。使用 sshpw 命令创建登录的临时帐户。该命令的每个实例都会创建一个只存在于安装环境中的单独帐户。这些不会转移到系统里。

语法

sshpw --username=name [OPTIONS] password

必填选项

  • --username=name - 提供用户名称。这个选项是必需的。
  • password - 用户要使用的密码。这个选项是必需的。

可选选项

  • --iscrypted - 如果有这个选项,则假设 password 参数已被加密。这个选项与 --plaintext 相互排斥。要生成加密的密码,可以使用 Python:

    $ python3 -c 'import crypt,getpass;pw=getpass.getpass();print(crypt.crypt(pw) if (pw==getpass.getpass("Confirm: ")) else exit())'

    这会使用随机 salt 为密码生成 sha512 兼容哈希。

  • --plaintext - 如果给出这个选项,则假设 password 参数为明文。这个选项与 --iscrypted 相互排斥。
  • --lock - 如果给出这个选项,则默认锁定这个帐户。这意味着用户无法从控制台登录。
  • --sshkey - 如果给出这个选项,<password> 字符串被解释为 ssh 密钥值。

备注

  • 默认情况下,ssh 服务器不会在安装过程中启动。要使 ssh 在安装过程中可以,使用内核引导选项 inst.sshd 引导系统。
  • 如果您想禁用 root ssh 访问,同时允许其他用户进行 ssh 访问,使用:

    sshpw --username=example_username example_password --plaintext
    sshpw --username=root example_password --lock
  • 要简单地禁用 root ssh 访问,使用:

    sshpw --username=root example_password --lock

B.2.20. text

text Kickstart 命令是可选的。它在文本模式下执行 Kickstart 安装。Kickstart 安装默认是以图形模式执行的。

语法

text [--non-interactive]

选项

  • --non-interactive - 在完全非互动模式下执行安装。这个模式将在用户交互需要时终止安装。

备注

  • 请注意:对于全自动安装,您必须在 Kickstart 文件中指定一个可用模式 (graphicaltextcmdline),或者使用 console= 引导选项。如果没有指定模式,系统会尽可能使用图形模式,或者提示您从 VNC 和文本模式中选择。

B.2.21. url

url Kickstart 命令是可选的。它可用来使用 FTP、HTTP 或者 HTTPS 协议从远程服务器中的安装树镜像安装。您只能指定一个 URL。

语法

url --url=FROM [OPTIONS]

必填选项

  • --url=FROM - 指定要从中安装的 HTTPHTTPSFTPfile 位置。

可选选项

  • --mirrorlist= - 指定要从中安装的镜像 URL。
  • --proxy= - 指定在安装过程中要使用的 HTTPHTTPS 或一个 FTP 代理。
  • --noverifyssl - 连接到 HTTPS 服务器时禁用 SSL 验证。
  • --metalink=URL - 指定要从中安装的 metalink URL。变量替换在 URL 中为 $releasever $basearch 进行。

示例

  • 从 HTTP 服务器安装:

    url --url=http://server/path
  • 从 FTP 服务器安装:

    url --url=ftp://username:password@server/path
  • 使用本地文件安装:

    liveimg --url=file:///images/install/squashfs.img --noverifyssl

备注

  • 在以前的版本中,url 命令必须与 install 命令一同使用。install 命令已弃用,url 可以自行使用,因为它代表了 install
  • 要真正运行安装,指定 cdromharddrivehmcnfsliveimgurl 之一。

B.2.22. vnc

vnc Kickstart 命令是可选的。它允许通过 VNC 远程查看图形安装。

与文本模式相比,这个模式通常是首选模式。因为在文本模式中有某些大小和语言的限制。如果没有附加选项,这个命令将在不需要密码的系统中启动 VNC 服务器,并显示连接它所需要的详情。

语法

vnc [--host=host_name] [--port=port] [--password=password]

选项

  • --host= - 连接在给定主机名中侦听的 VNC viewer 进程。
  • --port= - 提供远程 VNC viewer 进程侦听的端口。如果没有提供,Anaconda 将使用 VNC 默认端口 5900。
  • --password= - 设定必须为连接 VNC 会话提供的密码。这是可选的,但推荐使用。

其它资源

B.2.23. %include

%include Kickstart 命令是可选的。

使用 %include 命令可将另一个文件的内容包括在 Kickstart 文件中,就好像这些内容在 Kickstart 文件中 %include 命令的位置一样。

这个包括只在 %pre script 部分后评估,因此可用于包括在 %pre 部分中生成的文件。要在评估 %pre 部分前包括文件,请使用 %ksappend 命令。

语法

%include path/to/file

B.2.24. %ksappend

%ksappend Kickstart 命令是可选的。

使用 %ksappend 命令可将另一个文件的内容包括在 Kickstart 文件中,就好像这些内容在 Kickstart 文件中 %ksappend 命令的位置一样。

这个包括被用来在 %pre 脚本部分之前评估,与 %include 命令的包含不同。

语法

%ksappend path/to/file

B.3. kickstart 命令进行系统配置

这个列表中的 Kickstart 命令配置结果系统的更多详情,比如用户、库或服务。

B.3.1. auth 或 authconfig(已弃用)

重要

使用新的 authselect 命令而不是已弃用的 authauthconfig Kickstart 命令。authauthconfig 只可用于有限的向后兼容性。

authauthconfig Kickstart 命令是可选的。它使用 authconfig 工具为系统设置验证选项,也可以在安装完成后在命令行中运行该工具。

语法

authconfig [OPTIONS]

备注

  • 在以前的版本中,authauthconfig Kickstart 命令称为 authconfig 工具。在 Red Hat Enterprise Linux 8 中已弃用这个工具。这些 Kickstart 命令现在使用 authselect-compat 工具,称为 authselect 工具。有关兼容性层及其已知问题的描述,请参阅 authselect-migration(7) 手册页。安装程序将自动检测弃用命令的使用,并在系统上安装 authselect-compat 软件包以提供兼容性层。
  • 默认使用影子密码。
  • 当使用带有 SSL 协议的 OpenLDAP 时,请确定在服务器配置中禁用了 SSLv3SSLv2 协议。这是因为 POODLE SSL 漏洞(CVE-2014-3566)。详情请查看 https://access.redhat.com/solutions/1234843

B.3.2. authselect

authselect Kickstart 命令是可选的。它使用 authselect 命令为系统设置验证选项,也可以在安装完成后在命令行中运行该命令。

语法

authselect [OPTIONS]

备注

  • 这个命令会将所有选项传递给 authselect 命令。详情请参考 authselect(8) 手册页和 authselect --help 命令。
  • 这个命令用于替代 Red Hat Enterprise Linux 8 中已弃用的 authauthconfig 命令以及 authconfig 工具。
  • 默认使用影子密码。
  • 当使用带有 SSL 协议的 OpenLDAP 时,请确定在服务器配置中禁用了 SSLv3SSLv2 协议。这是因为 POODLE SSL 漏洞(CVE-2014-3566)。详情请查看 https://access.redhat.com/solutions/1234843

B.3.3. firewall

firewall Kickstart 命令是可选的。它为安装的系统指定防火墙配置。

语法

firewall --enabled|--disabled [incoming] [OPTIONS]

必填选项

  • --enabled--enable - 拒绝不是响应外向请求(如 DNS 答复或 DHCP 请求)的内向连接。如果需要访问在这个机器中运行的服务,您可以选择允许指定的服务通过防火墙。
  • --disabled--disable - 不配置任何 iptables 规则。

可选选项

  • --trust - 在这里列出设备,如 em1,允许所有来自该设备的流量通过防火墙。要列出多个设备,请多次使用该选项,例如 --trust em1 --trust em2:不要使用以逗号分开的格式,如 --trust em1, em2
  • --remove-service - 不允许服务穿过防火墙。
  • incoming - 使用以下服务中的一个或多个来替换,从而允许特定的服务穿过防火墙。

    • --ssh
    • --smtp
    • --http
    • --ftp
  • --port= - 您可以指定允许通过防火墙的端口,格式为 port:protocal。例如,要允许 IMAP 通过您的防火墙,指定 imap:tcp。您还可以具体指定数字端口。例如,要允许 UDP 数据包在端口 1234 通过,指定 1234:udp。要指定多个端口,用逗号将它们隔开。
  • --service= - 这个选项提供允许服务通过防火墙的高级方法。有些服务(如 cups avahi等)需要开放多个端口,或者其他特殊配置方可使服务正常工作。您可以使用 --port 选项指定各个端口,或指定 --service= 一次全部打开它们。

    有效选项是 firewall-offline-cmd 程序识别的任何选项 firewalld 包.如果 firewalld 服务正在运行,使用 firewall-cmd --get-services 提供已知服务名称列表。

  • --use-system-defaults - 不配置防火墙。这个选项告诉 anaconda 不做任何工作,并允许系统依赖软件包或者 ostree 提供的默认值。如果将这个选项与其它选项一同使用,则将忽略所有其他选项。

B.3.4. group

group Kickstart 命令是可选的。它在系统中创建新用户组。

group --name=name [--gid=gid]

必填选项

  • --name= - 提供组的名称。

可选选项

  • --gid= - 组的 GID。如果没有提供,则默认使用下一个可用的非系统 GID。

备注

  • 如果具有指定名称或 GID 的组群已经存在,这个命令会失败。
  • user 命令可以用来为新创建的用户创建新组群。

B.3.5. keyboard(必需)

keyboard Kickstart 命令是必需的。它为系统设置一个或多个可用的键盘布局。

语法

keyboard --vckeymap|--xlayouts OPTIONS

选项

  • --vckeymap= - 指定应使用的 VConsole 键映射。有效名称与 /usr/lib/kbd/keymaps/xkb/ 目录中的文件列表对应,无需 .map.gz 扩展名。
  • --xlayouts= - 指定 X 布局列表,该列表应该作为用逗号分开的列表,没有空格。接受与 setxkbmap(1) 相同格式的值,可以是 layout 格式(如 cz),或 layout (variant) 格式(比如 cz (qwerty))。

    可在 xkeyboard-config(7) man page 的 Layouts 中查看所有可用布局。

  • --switch= - 指定布局切换选项列表(在多个键盘布局间切换的快捷方式)。必须使用逗号分开多个选项,没有空格。接受与相同格式的值 setxkbmap(1)

    您可以在 xkeyboard-config(7) man page 的 Options 部分查看可用的切换选项 。

备注

  • 必须使用 --vckeymap=--xlayouts= 选项。

示例

以下示例使用 --xlayouts= 选项设置了两个键盘布局(English (US)Czech (qwerty)),并允许使用 Alt+Shift 在它们之间进行切换:

keyboard --xlayouts=us,'cz (qwerty)' --switch=grp:alt_shift_toggle

B.3.6. lang(必需)

lang Kickstart 命令是必需的。它设置了在安装过程中使用的语言以及系统的默认语言。

语法

lang language [--addsupport=language,...]

必填选项

  • language - 安装对此语言的支持,并将其设置为系统默认。

可选选项

  • --addsupport= - 添加对附加语言的支持。格式为使用逗号分开的列表,无空格。例如:

    lang en_US --addsupport=cs_CZ,de_DE,en_UK

备注

  • locale -a | grep _localectl list-locales | grep _ 命令返回支持的区域列表。
  • 文本模式安装中不支持某些语言(比如中文、日语、韩文和印度的语言)。如果用 lang 命令指定这些语言中的一种,安装过程仍然会使用英语,但安装的系统会默认使用您选择的语言。

示例

要将语言设置为英语,Kickstart 文件应包含以下行:

lang en_US

B.3.7. module

module Kickstart 命令是可选的。使用这个命令在 kickstart 脚本中启用软件包模块流。

语法

module --name=NAME [--stream=STREAM]

必填选项

  • --name= - 指定要启用的模块名称。使用实际名称替换 NAME

可选选项

  • --stream= - 指定要启用的模块流的名称。将 STREAM 替换为实际名称。

    您不需要为定义的默认流的模块指定此选项。对于没有默认流的模块,这个选项是强制的,省略它将导致错误。无法多次启用带有不同流的模块。

备注

  • 通过这个命令和 %packages 节的组合,您可以安装由启用的模块和流组合提供的软件包,而无需明确指定模块和流。安装软件包前必须启用模块。在使用 module 命令启用一个模块后,您可以安装这个模块启用的软件包,方法是在 %packages 一节中列出它们。
  • 单个 module 命令只能启用单个模块和流组合。要启用多个模块,使用多个 module 命令。无法多次启用带有不同流的模块。
  • 在 Red Hat Enterprise Linux 8 中,只有 AppStream 软件仓库提供模块。要列出可用的模块,使用安装的、带有有效订阅的 Red Hat Enterprise Linux 8 系统中的 yum module list 命令。

其它资源

B.3.8. repo

repo Kickstart 命令是可选的。它配置了作为软件包安装来源的额外的 yum 仓库。您可以添加多个 repo 行。

语法

repo --name=repoid [--baseurl=url|--mirrorlist=url|--metalink=url] [OPTIONS]

必填选项

  • --name= - 仓库 ID。这个选项是必需的。如果库的名称与另一个之前添加的库冲突,则会忽略它。因为安装程序使用预设置程序库列表,这意味着您无法添加名称与预先设置的库的名称相同的库。

URL options

这些选项是互斥的,也是可选的。这里不支持 yum 库配置文件中可以使用的变量。您可以使用字符串 $releasever$basearch,它们由 URL 中的相应值替换。

  • --baseurl= - 仓库的 URL。
  • --mirrorlist= - 指向该仓库镜像的 URL。
  • --metalink= - 仓库的 metalink 的 URL。

可选选项

  • --install - 将安装的系统中提供的库配置保存在 /etc/yum.repos.d/ 目录中。如果不使用这个选项,在 Kickstart 文件中配置的程序库将只在安装过程中使用,而无法在安装的系统中使用。
  • --cost= - 为这个库分配一个成本的整数值。如果多个库提供同样的软件包,这个数字就会被用来决定优先使用哪个库。成本低的软件仓库优先于成本高的软件仓库。
  • --excludepkgs= - 逗号分开的软件包名称列表,它们是一定不能从这个仓库中提取的软件包名称。如果多个存储库提供同样的软件包,您希望这个软件包来自特定的仓库,可以使用它。可接受完整软件包名称(比如 publican)和 globs(比如 gnome-*)。
  • --includepkgs= - 用逗号分开的软件包名称列表,以及允许从该仓库中提取的 glob。该程序仓库提供的其他软件包将被忽略。如果您只想从库中安装单个软件包或软件包组而不包括该程序库提供的所有其他软件包,这个选项就很有用了。
  • --proxy=[protocol://][username[:password]@]host[:port] - 指定仅用于这个仓库的 HTTP/HTTPS/FTP 代理。这个设置不会影响任何其他软件仓库,也不会影响在 HTTP 安装中是如何获取 install.img 的。
  • --noverifyssl - 连接到服务器时禁用 SSL 验证 HTTPS

备注

  • 用于安装的软件仓库必须是稳定版本。如果在安装完成前修改库,则安装会失败。

B.3.9. rootpw(必需)

rootpw Kickstart 命令是必需的。它将系统的根密码设置为 password 参数的值。

语法

rootpw [--iscrypted|--plaintext] [--lock] password

必填选项

  • password - 密码规格。纯文本或者加密字符串。请查看以下的 --iscrypted--plaintext

选项

  • --iscrypted - 如果有这个选项,则假设 password 参数已被加密。这个选项与 --plaintext 相互排斥。要创建一个加密的密码,您可以使用 python:

    $ python -c 'import crypt,getpass;pw=getpass.getpass();print(crypt.crypt(pw) if (pw==getpass.getpass("Confirm: ")) else exit())'

    这会使用随机 salt 为密码生成 sha512 兼容哈希。

  • --plaintext - 如果给出这个选项,则假设 password 参数为明文。这个选项与 --iscrypted 相互排斥。
  • --lock - 如果给出这个选项,则默认锁定 root 帐户。这意味着 root 用户无法从控制台登录。此选项还将禁用 Root Password 图形和文本手动安装中的屏幕。

B.3.10. selinux

selinux Kickstart 命令是可选的。它在安装的系统中设定 SELinux 状态。默认 SELinux 策略是 enforcing

语法

selinux [--disabled|--enforcing|--permissive]

选项

  • --enforcing - 在默认目标策略中启用 SELinux enforcing
  • --permissive - 根据 SELinux 策略输出警告信息,但并不强制执行该策略。
  • --disabled - 在系统中完全禁用 SELinux。

其它资源

有关 SELinux 的详情,请查看使用 SElinux 文档

B.3.11. services

services Kickstart 命令是可选的。它修改在默认 systemd 目标下运行的默认服务集合。禁用的服务列表会在启用的服务列表前进行处理。因此,如果服务出现在这两个列表中,它将被启用。

语法

services [--disabled=list] [--enabled=list]

选项

  • --disabled= - 禁用在以逗号分开的列表中给出的服务。
  • --enabled= - 启用在以逗号分开的列表中给出的服务。

备注

  • 不要在服务列表中包含空格。如果您这样做,Kickstart 将只启用或者禁用在第一个空格前的服务。例如:

    services --disabled=auditd, cups,smartd, nfslock

    这只禁用 auditd 服务。要禁用所有四个服务,这个条目一定不能有空格:

    services --disabled=auditd,cups,smartd,nfslock

B.3.12. skipx

skipx Kickstart 命令是可选的。如果存在,安装的系统上就不会配置 X。

如果您在软件包选择选项中安装 display manager,这个软件包会创建一个 X 配置,安装的系统会默认使用 graphical.target。这会覆盖 skipx 选项的效果。

语法

skipx

备注

  • 这个命令没有选项。

B.3.13. sshkey

sshkey Kickstart 命令是可选的。它把 SSH 密钥添加到特定用户在安装系统的 authorized_keys 文件中。

语法

sshkey --username=user "ssh_key"

必填选项

  • --username= - 安装密钥的用户。
  • ssh_key - 完整的 SSH 密钥指纹。它必须用引号括起。

B.3.14. syspurpose

syspurpose Kickstart 命令是可选的。使用它来设置系统在安装后的系统目的。这些信息有助于在系统中应用正确的订阅授权。

语法

syspurpose [OPTIONS]

选项

  • --role= - 设置系统角色。可用值有:

    • Red Hat Enterprise Linux Server
    • Red Hat Enterprise Linux Workstation
    • Red Hat Enterprise Linux Compute 节点
  • --sla= - 设置服务级别协议。可用值有:

    • Premium(高级)
    • Standard(标准)
    • Self-Support(自助)
  • --usage= - 系统预定的使用情况。可用值有:

    • Production
    • Disaster Recovery
    • Development/Test
  • --addon= - 指定附加层次产品或特性。您可以多次使用这个选项。

备注

  • 输入有空格的值,并使用双引号包括它们:

    syspurpose --role="Red Hat Enterprise Linux Server"
  • 虽然强烈建议您配置系统目的,但它是 Red Hat Enterprise Linux 安装程序的可选功能。如果要在安装完成后启用系统目的,您可以使用 syspurpose 命令行工具完成此操作。

B.3.15. timezone(必需)

timezone Kickstart 命令是必需的。它设置系统时区。

语法

timezone timezone [OPTIONS]

必填选项

  • timezone - 为系统设定的时区。

可选选项

  • --utc - 如果存在,系统假定硬件时钟被设置为 UTC(Greenwich Mean)时间。
  • --nontp - 禁止自动启动 NTP 服务。
  • --ntpservers= - 指定要使用的 NTP 服务器列表,该列表使用逗号分开,没有空格。

备注

在 Red Hat Enterprise Linux 8 中,时区名称使用 pytz.all_timezones 列表进行验证,该列表由 提供 pytz 包.在以前的版本里,这些名称会使用 pytz.common_timezones 进行验证,它是当前验证列表的子集。请注意:图形和文本模式界面仍然使用有更多限制的 pytz.common_timezones 列表 ; 您必须使用 Kickstart 文件来使用额外的时区定义。

B.3.16. user

user Kickstart 命令是可选的。它在系统上创建新用户。

语法

user --name=username [OPTIONS]

必填选项

  • --name= - 提供用户名称。这个选项是必需的。

可选选项

  • --gecos= - 为用户提供 GECOS 信息。这个字符串包括使用逗号分开的各种具体系统字段。它通常用来指定用户全名、办公室号码等等。详情请查看 passwd(5) man page。
  • --groups= - 除默认组群外,还有以逗号分开的该用户所属组群列表。组群必须在创建该用户帐户前就已经存在。请查看 group 命令。
  • --homedir= - 用户的主目录。如果没有提供,则默认为 /home/username
  • --lock - 如果给出这个选项,则默认锁定这个帐户。这意味着用户无法从控制台登录。此选项还将禁用 Create User 图形和文本手动安装中的屏幕。
  • --password= - 新用户的密码。如果没有提供,则默认锁定该帐户。
  • --iscrypted - 如果有这个选项,则假设 password 参数已被加密。这个选项与 --plaintext 相互排斥。要创建一个加密的密码,您可以使用 python:

    $ python -c 'import crypt,getpass;pw=getpass.getpass();print(crypt.crypt(pw) if (pw==getpass.getpass("Confirm: ")) else exit())'

    这会使用随机 salt 为密码生成 sha512 兼容哈希。

  • --plaintext - 如果给出这个选项,则假设 password 参数为明文。这个选项与 --iscrypted 相互排斥。
  • --shell= - 用户的登录 shell。如果没有提供,则使用系统默认。
  • --uid= - 用户的 UID(用户 ID)。如果没有提供,则默认使用下一个可用的非系统 UID。
  • --gid= - 用于用户组的 GID(组 ID)。如果没有提供,则默认使用下一个可用的非系统组群 ID。

备注

  • 请考虑使用 --uid--gid 选项设置常规用户,它们的默认组 ID 从 5000 开始而不是从 1000 开始。这是因为为系统用户和组群保留的范围(0-999)将来可能会增加并导致与常规用户 ID 重叠。

    有关在安装后更改最小 UID 和 GID 限制,以确保您在创建用户时可以自动应用您选择的 UID 和 GID 范围,请参阅 配置基本系统设置 文档中的使用 umask 为新文件设置默认权限部分。

  • 使用不同权限创建的文件和目录,由用来创建文件或目录的应用程序指定。例如:mkdir 命令创建启用了所有权限的目录。但是,如 user file-creation mask 设置所指定的,应用程序无法为新创建的文件授予某些权限。

    user file-creation mask 可使用 umask 命令控制。新用户的 user file-creation mask 的默认设置是由安装的系统的 /etc/login.defs 配置文件中的 UMASK 变量定义。如果未设置,则默认为 022。这意味着,默认情况下,当应用程序创建一个文件时,会防止为该文件所有者以外的用户授予写入权限。不过,这可以被其他设置或脚本覆盖。如需了解更多信息,请参阅配置基本系统设置文档中的 使用 umask 配置基本系统设置

B.3.17. xconfig

xconfig Kickstart 命令是可选的。它配置 X 窗口系统。

语法

xconfig [--startxonboot]

选项

  • --startxonboot - 在安装的系统中使用图形登录。

备注

  • 因为 Red Hat Enterprise Linux 8 没有包括 KDE 桌面环境,请不要使用上游 --defaultdesktop= 文档。

B.4. kickstart 命令用于网络配置

在这个列表中的 Kickstart 命令可让您在系统中配置联网。

B.4.1. Network(可选)

使用可选的 network Kickstart 命令配置目标系统的网络信息,并在安装环境中激活网络设备。在第一个 network 命令中指定的设备会自动激活。您还可以使用 --activate 选项显式激活设备。

语法

network OPTIONS

选项

  • --activate - 在安装环境中激活该设备。

    如果您使用的是已经激活的设备中的 --activate 选项(例如:使用引导选项配置的界面以便系统可以检索 Kickstart 文件),那么会重新激活该设备使用在 Kickstart 文件中指定的详情。

    使用 --nodefroute 选项可防止设备使用默认路由。

  • --no-activate - 不要在安装环境中激活这个设备。

    默认情况下,无论 --activate 选项是什么,Anaconda 会激活 Kickstart 文件中的第一个网络设备。您可以使用 --no-activate 选项禁用默认设置。

  • --bootproto= - dhcpbootp ibftstatic 之一。默认选项是 dhcp; bootp 选项和 dhcp 选项的效果相同。要禁用设备的 ipv4 配置,使用 --noipv4 选项。

    注意

    这个选项配置设备的 ipv4 配置。对于 ipv6 配置,使用 --ipv6--ipv6gateway 选项。

    DHCP 方法使用 DHCP 服务器系统来获得它的网络配置。BOOTP 方法类似,需要 BOOTP 服务器来提供网络配置。要指示系统使用 DHCP:

    network --bootproto=dhcp

    要指示机器使用 BOOTP 获取其网络配置,在 Kickstart 文件中使用以下行:

    network --bootproto=bootp

    要指示机器使用 iBFT 中指定的配置,使用:

    network --bootproto=ibft

    static 方法要求您在 Kickstart 文件中至少指定 IP 地址和子网掩码。这个信息是静态的,并在安装过程中和安装后使用。

    所有静态网络配置信息必须在一行中指定 ; 您不能象在命令行中换行一样使用反斜杠(\)来换行。

    network --bootproto=static --ip=10.0.2.15 --netmask=255.255.255.0 --gateway=10.0.2.254 --nameserver=10.0.2.1

    您还可以同时配置多个名称服务器。要做到这一点,使用 --nameserver= 选项一次,并指定每个 IP 地址,用逗号分开:

    network --bootproto=static --ip=10.0.2.15 --netmask=255.255.255.0 --gateway=10.0.2.254 --nameserver=192.168.2.1,192.168.3.1
  • --device= - 使用以下 network 命令指定要配置的设备(并最终在 Anaconda 中激活)。

    如果在第一次使用 network 命令时缺少 --device= 选项,会使用 ksdevice= Anaconda 引导选项。请注意,这个行为被视为已弃用 ; 在大多数情况下,您应该为每个 network 命令指定一个 --device=

    如果缺少该 --device= 选项,则同一 Kickstart 文件中后续 network 命令的行为都会被取消指定。请确定您为第一个之后的任何 network 命令指定这个选项。

    您可以使用以下任一方法指定要激活的设备:

    • 接口的设备名称,例如 em1
    • 接口的 MAC 地址,例如 01:23:45:67:89:ab
    • 关键字 link,指定链接为 up 状态的第一个接口
    • 关键字 bootif,使用 pxelinux 在 BOOTIF 变量中设置的 MAC 地址。在您的 pxelinux.cfg 文件中设置 IPAPPEND 2 将 pxelinux 设置 BOOTIF 变量。

    例如:

    network --bootproto=dhcp --device=em1
  • --ip= - 设备的 IP 地址。
  • --ipv6= - 设备的 IPv6 地址,格式为 address[/prefix length] - 例如 3ffe:ffff:0:1::1/128 `. If prefix is omitted, `64 。您还可以使用 auto 用于自动配置,或使用 dhcp 用于只使用 DHCPv6 的配置(无路由器广告)。
  • --gateway= - 单一 IPv4 地址的默认网关。
  • --ipv6gateway= - 单一 IPv6 地址的默认网关。
  • --nodefroute - 防止将接口设置为默认路由。当您用这个选项激活附加设备时使用 --activate= 选项,例如:用于 iSCSI 目标的单独子网中的 NIC。
  • --nameserver= - DNS 名称服务器作为 IP 地址。要指定一个以上名称服务器,使用这个选项,并使用逗号分隔每个 IP 地址。
  • --netmask= - 安装的系统的网络掩码。
  • --hostname=:用于配置目标系统的主机名。主机名可以是完全限定域名(FQDN),格式为 hostname.domainname,也可以是没有域的短主机名。如果您使用动态主机配置协议(DHCP)服务自动为连接的系统分配域名,则仅指定短主机名。

    如果您只想配置目标系统的主机名,使用 network 命令中的 --hostname 选项,且不包含任何其他选项。

    如果您在配置主机名时提供附加选项,network 命令将使用指定的选项配置设备。如果您没有指定使用 --device 选项配置哪个设备,则会使用默认的 --device link 值。另外,如果您没有使用 --bootproto 选项指定协议,则该设备会被默认配置为使用 DHCP。

    重要

    如果您的网络没有提供 DHCP 服务,则必须使用 FQDN 作为系统的主机名。

  • --ethtool= - 指定用于网络设备的附加底层设置,可将其传送给 ethtool 程序。
  • --onboot= - 是否在引导时启用该设备。
  • --dhcpclass= - DHCP 类别。
  • --mtu= - 该设备的 MTU。
  • --noipv4 - 在这个设备中禁用 IPv4。
  • --noipv6 - 在这个设备中禁用 IPv6。
  • --bondslaves= - 使用这个选项时,由 --device= 选项指定的绑定设备会使用 --bondslaves= 选项中定义的辅助设备创建。例如:

    network --device=bond0 --bondslaves=em1,em2

    以上命令创建了一个名为 bond0 的绑定设备,将 em1em2 接口用作其辅助设备。

  • --bondopts= - 绑定接口的可选参数列表,使用 --device= 选项和 --bondslaves= 选项指定。此列表中的选项必须以逗号 (,)或分号 (;)分隔。如果某个选项本身包含一个逗号,请使用分号来分隔选项。例如:

    network --bondopts=mode=active-backup,balance-rr;primary=eth1
    重要

    --bondopts=mode= 参数只支持完整模式名称,如 balance-rrbroadcast,而不是它们的数字表示,如 03有关可用模式和支持的模式列表,请参阅配置和管理网络指南

  • --vlanid= - 为使用 --device= 作为父设备创建的设备指定虚拟 LAN(VLAN)ID 号(802.1q 标签)。例如,network --device=em1 --vlanid=171 创建一个虚拟 LAN 设备 em1.171
  • --interfacename= - 为虚拟 LAN 设备指定自定义接口名称。当该选项生成的默认名称不必要时使用 --vlanid= 选项。这个选项必须与 --vlanid= 选项一起使用。例如:

    network --device=em1 --vlanid=171 --interfacename=vlan171

    以上命令在 em1 设备上创建了 ID 为 171 的虚拟 LAN 接口(名为 vlan171) 。

    接口名称可以是任意名称(例如,my-vlan),但在某些情况下,必须遵循以下约定:

    • 如果名称中包含句点(.),它的格式必须是 NAME.IDNAME 是任意的,但 ID 必须是 VLAN ID。例如: em1.171my-vlan.171
    • vlan 开头的名称必须使用 vlanID 格式 - 例如 vlan171
  • --teamslaves= - --device= 选项指定的团队设备将使用这个选项中指定的辅助设备创建。辅助设备用逗号分开。辅助设备可以跟随其配置,该配置是一个单引号括起的 JSON 字符串,其中双引号用 \ 字符转义。例如:

    network --teamslaves="p3p1'{\"prio\": -10, \"sticky\": true}',p3p2'{\"prio\": 100}'"

    另请参阅 --teamconfig= 选项。

  • --teamconfig= - 用双引号括起来的 team 设备配置,它是一个 JSON 字符串,其中的双引号使用 \ 进行转义。该设备名称由 --device= 选项指定,其辅助设备及其配置由 --teamslaves= 选项指定。例如:

    network --device team0 --activate --bootproto static --ip=10.34.102.222 --netmask=255.255.255.0 --gateway=10.34.102.254 --nameserver=10.34.39.2 --teamslaves="p3p1'{\"prio\": -10, \"sticky\": true}',p3p2'{\"prio\": 100}'" --teamconfig="{\"runner\": {\"name\": \"activebackup\"}}"
  • --bridgeslaves= - 使用这个选项时,将生成使用这个 --device= 选项指定的设备名称的网络桥接,并在 --bridgeslaves= 选项中定义的设备添加到网桥中。例如:

    network --device=bridge0 --bridgeslaves=em1
  • --bridgeopts= - 桥接接口用逗号分开的可选参数列表。可用值包括 stppriorityforward-delayhello-timemax-ageageing-time。有关这些参数的详情,请查看 bridge setting nm-settings(5) man page 或 https://developer.gnome.org/NetworkManager/0.9/ref-settings.html 中的表。

    有关网络桥接的常规信息,请参阅配置和管理网络文档。

  • --bindto=mac - 在安装的系统中将设备配置(ifcfg)文件绑定到设备 MAC 地址(HWADDR)而不是默认绑定到接口名称(DEVICE)。请注意,这个选项独立于 --device= 选项 - --bindto=mac 将被应用,即使同一 network 命令也指定了一个设备名称,linkbootif

备注

  • 由于命名方案的变化,在 Red Hat Enterprise Linux 8 中 ethN 设备名(如 eth0)将不再可用。有关设备命名方案的更多信息,请参阅上游文档可扩展网络接口名称
  • 如果您使用 Kickstart 选项或者引导选项指定网络中的安装库,但在安装开始时没有可用的网络,安装程序会显示这个信息 Network Configuration 在显示 之前设置网络连接的窗口 Installation Summary 窗口.如需了解更多详细信息,请参阅执行标准 RHEL 安装文档中的配置网络和主机名选项部分。

B.4.2. realm

realm Kickstart 命令是可选的。使用它加入 Active Directory 或 IPA 域。有关这个命令的详情请参考 realm(8) man page 中的 join 部分。

语法

realm join [OPTIONS] domain

必填选项

  • domain - 要加入的域。

选项

  • --computer-ou=OU= - 提供可分辨的机构单元名称以便创建计算机帐户。可识别名称的具体格式取决于客户端软件和成员软件。可省略可识别名称的根 DSE 部分。
  • --no-password - 无需密码自动加入。
  • --one-time-password= - 使用一次性密码加入。不是所有域都支持它。
  • --client-software= - 只能加入可运行这个客户端软件的域。有效值包括 sssdwinbind。不是所有域都支持所有值。默认情况下自动选择客户端软件。
  • --server-software= - 只能加入可运行这个服务器软件的域。可能的值包括 active-directoryfreeipa
  • --membership-software= - 加入域时使用这个软件。有效值包括 sambaadcli。不是所有域都支持所有值。默认情况下自动选择成员软件。

B.5. 用于处理存储的 Kickstart 命令

这部分中的 Kickstart 命令配置存储的各个方面,比如设备、磁盘、分区、LVM 和文件系统。

B.5.1. device(已弃用)

device Kickstart 命令是可选的。使用它载入其他内核模块。

在大多数 PCI 系统中,安装程序会自动探测以太网卡和 SCSI 卡。然而,在老的系统和某些 PCI 系统中,Kickstart 需要提示才能找到正确的设备。device 命令用来告诉安装程序安装额外的模块,使用以下格式:

语法

device moduleName --opts=options

选项

  • moduleName - 使用应该安装的内核模块的名称替换。
  • --opts= - 传递给内核模块的选项。例如:

    device --opts="aic152x=0x340 io=11"

B.5.2. autopart

autopart Kickstart 命令是可选的。它自动创建分区。

自动创建的分区包括:一个 root(/)分区(1 GB 或更大)、一个 swap 分区和一个适合于体系结构的 /boot 分区。在足够大的驱动器上(50GB 以上),还会创建一个 /home 分区。

语法

autopart OPTIONS

选项

  • --type= - 选择您要使用的预定义的自动分区方案之一。可接受以下值:

    • lvm:LVM 分区方案。
    • plain:没有 LVM 的常规分区。
    • thinp:LVM Thin Provisioning 分区方案。

    有关可用分区方案的描述请参考 第 C.1 节 “支持的设备类型”

  • --fstype= - 选择可用文件系统类型之一。可用值有 ext2ext3ext4 xfs、和 vfat。默认文件系统是 xfs。有关这些文件系统的详情请参考 第 C.2 节 “支持的文件系统”
  • --nohome - 禁止自动创建 /home 分区。
  • --nolvm - 不要将 LVM 用于自动分区。这个选项等同于 --type=plain
  • --noboot - 不创建 /boot 分区。
  • --noswap - 不创建交换分区。
  • --encrypted - 使用 LUKS(Linux Unified Key Setup)加密所有分区。这等同于检查 Encrypt partitions 在手动图形安装过程中,选中初始分区界面中的复选框。

    注意

    在加密一个或多个分区时, Anaconda 会尝试收集 256 字节熵,以保证安全加密分区。收集熵可能需要一些时间 - 无论是否有收集到足够的熵,该过程将在最多 10 分钟后停止。

    与安装系统互动(通过键盘输入或移动鼠标)可加速此进程。如果要在虚拟机中安装,也可以在 virtio-rng 客户端中添加设备(虚拟随机数生成器)。

  • --luks-version=LUKS_VERSION - 指定应该用来加密文件系统的 LUKS 格式版本。只有在指定了 --encrypted 时这个选项才有意义。
  • --passphrase= - 为所有加密设备提供默认的系统范围内的密码短语。
  • --escrowcert=URL_of_X.509_certificate - 将所有加密卷的数据加密密钥保存为文件 /root,使用来自 URL_of_X.509_certificate 指定的 URL 的 X.509 证书进行加密。每个加密卷的密钥都作为单独的文件保存。只有在指定了 --encrypted 时这个选项才有意义。
  • --backuppassphrase - 为每个加密卷添加随机生成的密码短语。将这些密码短语以独立文件形式保存到 /root,使用由 --escrowcert 指定的 X.509 证书加密。只有在指定了 --escrowcert 时这个选项才有意义。
  • --cipher= - 如果无法满足 Anaconda 的默认 aes-xts-plain64 设置,则需要指定加密类型。这个选项必须与 --encrypted 选项一同使用,单独使用无效。安全强化文档中列出了可用加密类型,但红帽强烈推荐您使用 aes-xts-plain64aes-cbc-essiv:sha256
  • --pbkdf=PBKDF - 为 LUKS keylot 设置 PBKDF(Password-Based Key Derivation Function)算法。另请参阅 man page cryptsetup(8)。只有在指定了 --encrypted 时这个选项才有意义。
  • --pbkdf-memory=PBKDF_MEMORY - 为 PBKDF 设置内存成本。另请参阅 man page cryptsetup(8)。只有在指定了 --encrypted 时这个选项才有意义。
  • --pbkdf-time=PBKDF_TIME - 设置 PBKDF 密码处理所消耗的毫秒数。详情请参阅 man page cryptsetup(8) 中的 --iter-time 部分。这个选项只在指定了 --encrypted 时才有意义,并且与 --pbkdf-iterations 相互排斥。
  • --pbkdf-iterations=PBKDF_ITERATIONS - 设定直接迭代的次数,并避免 PBKDF 基准数据。详情请参阅 man page cryptsetup(8) 中的 --pbkdf-force-iterations 部分。这个选项只在指定了 --encrypted 时才有意义,并且与 --pbkdf-time 相互排斥。

备注

  • 同一 Kickstart 文件中,autopart 选项不能与 part/partitionraidlogvolvolgroup 选项一同使用。
  • autopart 命令不是必须的,但如果您的 Kickstart 脚本中没有 part 或者 mount 命令,则必须包括这个命令。
  • 在 CMS 类型的一个 FBA DASD 中安装时,建议使用 autopart --nohome Kickstart 选项。这样可保证安装程序不会创建独立 /home 分区。安装过程可以成功进行。
  • 如果您丢失了 LUKS 密码短语,那么就完全无法访问所有加密的分区及其数据。丢失的密码短语是无法找回的。但是,您可以使用 --escrowcert 选项保存加密密码短语,并使用 --backuppassphrase 生成加密密码短语备份。

B.5.3. bootloader(必需)

bootloader Kickstart 命令是必需的。它指定引导装载程序的安装方式。

语法

bootloader [OPTIONS]

选项

  • --append= - 指定附加内核参数。要指定多个参数,使用空格分隔它们。例如:

    bootloader --location=mbr --append="hdd=ide-scsi ide=nodma"

    安装 plymouth 软件包时会自动添加 rhgbquiet 参数,即使您在此没有指定它们或者没有使用该 --append= 命令。要禁用此行为,请明确禁止安装 plymouth:

    %packages
    -plymouth
    %end

    这个选项可用于禁用在大多数现代处理器中存在的 Meltdown 和 Spectre speculative 安全漏洞(CVE-2017-5754、CVE-2017-5753 和 CVE-2017-5715)。在某些情况下,这些机制可能并不是必需的,启用它们可能会导致性能降低而不会提高安全性。要禁用这些系统,在您的 Kickstart 文件中添加相应的选项 - 例如:在 AMD 64/Intel 64 系统中使用 bootloader --append="nopti noibrs noibpb"

    警告

    在禁用任何漏洞缓解机制前,请确定您的系统不会受到安全攻击。有关 Meltdown 和 Spectre 漏洞的详情,请查看红帽漏洞响应文章

  • --boot-drive= - 指定引导装载程序要写入的驱动器,以及用来引导计算机的驱动器。如果您使用多路径设备作为引导驱动器,使用它的 disk/by-id/dm-uuid-mpath-WWID 名称指定该设备。

    重要

    目前在使用 zipl 引导装载程序的 IBM Z 系统中的 Red Hat Enterprise Linux 安装中会忽略 --boot-drive= 选项。当安装 zipl 时,它会自行决定引导驱动器。

  • --leavebootorder - 安装程序会在引导装载程序中安装的系统列表的顶部添加 Red Hat Enterprise Linux 8,并保留所有现有的条目及其顺序。
  • --driveorder= - 指定在 BIOS 引导顺序中的首选驱动器。例如:

    bootloader --driveorder=sda,hda
  • --location= - 指定引导记录的写入位置。有效值如下:

    • mbr - 默认选项。具体要看驱动器是使用主引导记录(MBR)还是 GUID 分区表(GPT)方案:

      在 GPT 格式的磁盘中,这个选项会在 BIOS 引导分区中安装 stage 1.5 引导装载程序。

      在使用 MBR 格式化的磁盘中,会在 MBR 和第一个分区之间的空白空间中安装 stage 1.5。

    • partition - 在包含内核的分区的第一个扇区安装引导装载程序。
    • none - 不安装引导装载程序。

    在大多数情况下,不需要指定这个选项。

  • --nombr - 不要在 MBR 中安装引导装载程序。
  • --password= - 如果使用 GRUB2,则将引导装载程序密码设定为这个选项指定的密码。这应该被用来限制对可传入任意内核选项的 GRUB2 shell 的访问。

    如果指定密码,GRUB2 还会询问用户名。用户名为 root

  • --iscrypted - 通常当您使用 --password= 选项指定引导装载程序密码时,会以明文形式将其保存在 Kickstart 文件中。如果要加密密码,使用这个选项和一个加密的密码。

    要生成加密的密码,使用 grub2-mkpasswd-pbkdf2 命令,输入要使用的密码,并将该命令的输出结果(以 grub.pbkdf2 开始的哈希值)复制到 Kickstart 文件中。附带加密密码的 bootloader Kickstart 条目示例类似如下:

    bootloader --iscrypted --password=grub.pbkdf2.sha512.10000.5520C6C9832F3AC3D149AC0B24BE69E2D4FB0DBEEDBD29CA1D30A044DE2645C4C7A291E585D4DC43F8A4D82479F8B95CA4BA4381F8550510B75E8E0BB2938990.C688B6F0EF935701FF9BD1A8EC7FE5BD2333799C98F28420C5CC8F1A2A233DE22C83705BB614EA17F3FDFDF4AC2161CEA3384E56EB38A2E39102F5334C47405E
  • --timeout= - 指定引导装载程序引导默认选项前等待的时间(以秒为单位)。
  • --default= - 设置引导装载程序配置里的默认引导镜像。
  • --extlinux - 使用 extlinux 引导装载程序而不是 GRUB2。这个选项只适用于支持 extlinux 的系统。
  • --disabled - 这个选项是 --location=none 的一个更强大的版本。--location=none 只是简单地禁用引导装载程序安装,而 --disabled 禁用引导装载程序安装,同时禁用包含引导装载程序的软件包安装,从而节省了空间。

备注

  • 红帽建议在每个系统中设置引导装载程序密码。一个没有保护的引导装载程序可以让潜在的攻击者修改系统的引导选项,并获得对系统的未授权访问。
  • 在某些情况下,需要一个特殊的分区来在 AMD64、Intel 64 和 64 位 ARM 系统上安装引导装载程序。这个分区的类型和大小取决于您要安装引导装载程序的磁盘是否使用主引导记录(MBR)还是 GUID 分区表(GPT)模式。如需更多信息,请参阅执行标准 RHEL 安装文档中的配置引导装载程序部分。
  • 使用 sdX (或 /dev/sdX)格式的设备名称在重启后可能无法保证它们的一致性,这会使一些 Kickstart 命令的使用变得复杂。当某个命令调用设备节点名称时,您可以使用 /dev/disk 中的任何项目。例如,改为:

    part / --fstype=xfs --onpart=sda1

    您可以使用类似以下条目之一:

    part / --fstype=xfs --onpart=/dev/disk/by-path/pci-0000:00:05.0-scsi-0:0:0:0-part1
    part / --fstype=xfs --onpart=/dev/disk/by-id/ata-ST3160815AS_6RA0C882-part1

    这样命令总是以同一存储设备为目标。这在大型存储环境中特别有用。相关详情,请参阅管理存储设备文档中的持久性名称属性概述部分。

  • --upgrade 选项在 Red Hat Enterprise Linux 8 中已弃用。

B.5.4. zipl

zipl Kickstart 命令是可选的。它为 IBM Z 指定 ZIPL 配置。

选项

  • --secure-boot - 如果安装系统支持则启用安全引导。
注意

当在 IBM z14 之后的系统中安装时,无法从 IBM z14 或更早的型号引导安装的系统。

  • --force-secure-boot - 无条件启用安全引导。
注意

IBM z14 及更早的型号不支持安装。

  • --no-secure-boot - 禁用安全引导。
注意

IBM z14 及更早的型号不支持安全引导。--no-secure-boot 如果您打算在 IBM z14 及更早的型号中引导安装的系统,请使用。

B.5.5. clearpart

clearpart Kickstart 命令是可选的。在创建新分区之前,它会从系统中删除分区。默认情况下不会删除任何分区。

语法

clearpart OPTIONS

选项

  • --all - 删除系统中的所有分区。

    这个选项将擦除安装程序可以访问的所有磁盘,包括任何附加的网络存储。请小心使用这个选项。

    您可以使用 clearpart 选项并只指定您要清除的驱动器、稍后附加网络存储(例如,在 Kickstart 文件的 --drives= 部分)或者阻止列出用来访问网络存储的内核模块来防止您想要保留的存储。%post

  • --drives= - 指定从哪个驱动器中清除分区。例如,下面的命令清除了主 IDE 控制器上前两个驱动器上所有分区:

    clearpart --drives=hda,hdb --all

    要清除多路径设备,请使用格式 disk/by-id/scsi-WWID,其中 WWID 是该设备的通用识别符。例如:要清除 WWID 为 58095BEC5510947BE8C0360F604351918 的磁盘,使用:

    clearpart --drives=disk/by-id/scsi-58095BEC5510947BE8C0360F604351918

    这个格式是所有多路径设备的首选,但如果出现错误,没有使用逻辑卷管理(LVM)的多路径设备也可以使用disk/by-id/dm-uuid-mpath-WWID 格式进行清除,其中 WWID 是该设备的通用识别符。例如:要清除 WWID 为 2416CD96995134CA5D787F00A5AA11017 的磁盘,使用:

    clearpart --drives=disk/by-id/dm-uuid-mpath-2416CD96995134CA5D787F00A5AA11017

    不要使用类似设备名称指定多路径设备,如 mpatha。这样的设备名称并不是特定磁盘特有的。/dev/mpatha 在安装过程中命名的磁盘可能不是您期望的磁盘。因此,clearpart 命令可能会对错误的磁盘进行操作。

  • --initlabel - 通过为所有磁盘在其对于的架构中创建一个默认的磁盘标签来格式化磁盘(例如: 对于 x86,使用 msdos)。因为 --initlabel 可以查看所有磁盘,因此请确保只连接要格式化的驱动器。

    clearpart --initlabel --drives=names_of_disks

    例如:

    clearpart --initlabel --drives=dasda,dasdb,dasdc
  • --list= - 指定要清除哪些分区。这个选项会覆盖 --all--linux 选项。可在不同的驱动器间使用。例如:

    clearpart --list=sda2,sda3,sdb1
  • --disklabel=LABEL - 设置要使用的默认 disklabel。只有支持该平台的磁盘标签才会被接受。例如,在 64 位 Intel 和 AMD 构架中,接受 msdosgpt 磁盘标签,但不接受 dasd
  • --linux - 删除所有 Linux 分区。
  • --none (默认)- 不删除任何分区。
  • --cdl - 重新格式化 LDL DASD 为 CDL 格式。

备注

  • 使用 sdX (或 /dev/sdX)格式的设备名称在重启后可能无法保证它们的一致性,这会使一些 Kickstart 命令的使用变得复杂。当某个命令调用设备节点名称时,您可以使用 /dev/disk 中的任何项目。例如,改为:

    part / --fstype=xfs --onpart=sda1

    您可以使用类似以下条目之一:

    part / --fstype=xfs --onpart=/dev/disk/by-path/pci-0000:00:05.0-scsi-0:0:0:0-part1
    part / --fstype=xfs --onpart=/dev/disk/by-id/ata-ST3160815AS_6RA0C882-part1

    这样命令总是以同一存储设备为目标。这在大型存储环境中特别有用。相关详情,请参阅管理存储设备文档中的持久性名称属性概述部分。

  • 如果使用 clearpart 命令,则无法在逻辑分区中使用 part --onpart 命令。

B.5.6. fcoe

fcoe Kickstart 命令是可选的。它指定除了由 EDD (Enhanced Disk Drive Services)发现的设备外,还要自动激活哪些 FCoE 设备。

语法

fcoe --nic=name [OPTIONS]

选项

  • --nic= (强制)- 要激活的设备名称。
  • --dcb= - 建立 DCB(Data Center Bridging)设置。
  • --autovlan - 自动发现 VLAN。默认启用这个选项。

B.5.7. ignoredisk

ignoredisk Kickstart 命令是可选的。这会导致安装程序忽略指定的磁盘。

如果您使用自动分区并希望忽略某些磁盘,这就很有用。例如,没有 ignoredisk,如要尝试在 SAN-cluster 中部署,Kickstart 将失败,因为安装程序检测到的到 SAN 的被动路径没有分区表。

语法

ignoredisk --drives=drive1,drive2,... | --only-use=drive

选项

  • --drives=driveN,…​ - 使用 sdasdb、…​、 hda、…​ 等之一替换driveN
  • --only-use=driveN,…​ - 指定安装程序要使用的磁盘列表。其它磁盘将被忽略。例如:要在安装过程使用磁盘 sda,并忽略所有其他磁盘:

    ignoredisk --only-use=sda

    要包括不使用 LVM 的多路径设备:

    ignoredisk --only-use=disk/by-id/dm-uuid-mpath-2416CD96995134CA5D787F00A5AA11017

    要包括使用 LVM 的多路径设备:

    ignoredisk --only-use==/dev/disk/by-id/dm-uuid-mpath-
    bootloader --location=mbr

您必须只指定 --drives --only-use 其中之一。

备注

  • --interactive 选项在 Red Hat Enterprise Linux 8 中已弃用。这个选项允许用户手动在高级存储界面中进行操作。
  • 要忽略不使用逻辑卷管理(LVM)的多路径设备,使用格式 disk/by-id/dm-uuid-mpath-WWID,其中 WWID 是该设备的通用识别符。例如:要忽略 WWID 的磁盘 2416CD96995134CA5D787F00A5AA11017,使用:

    ignoredisk --drives=disk/by-id/dm-uuid-mpath-2416CD96995134CA5D787F00A5AA11017
  • 不要使用类似设备名称指定多路径设备,如 mpatha。这样的设备名称并不是特定磁盘特有的。/dev/mpatha 在安装过程中命名的磁盘可能不是您期望的磁盘。因此,clearpart 命令可能会对错误的磁盘进行操作。
  • 使用 sdX (或 /dev/sdX)格式的设备名称在重启后可能无法保证它们的一致性,这会使一些 Kickstart 命令的使用变得复杂。当某个命令调用设备节点名称时,您可以使用 /dev/disk 中的任何项目。例如,改为:

    part / --fstype=xfs --onpart=sda1

    您可以使用类似以下条目之一:

    part / --fstype=xfs --onpart=/dev/disk/by-path/pci-0000:00:05.0-scsi-0:0:0:0-part1
    part / --fstype=xfs --onpart=/dev/disk/by-id/ata-ST3160815AS_6RA0C882-part1

    这样命令总是以同一存储设备为目标。这在大型存储环境中特别有用。相关详情,请参阅管理存储设备文档中的持久性名称属性概述部分。

B.5.8. iscsi

iscsi Kickstart 命令是可选的。它指定了在安装过程中要添加的附加 iSCSI 存储。

语法

iscsi --ipaddr=address [OPTIONS]

必填选项

  • --ipaddr= (必需)- 要连接的目标的 IP 地址。

可选选项

  • --port= (必需)- 端口号。如果没有存在,默认自动使用 --port=3260
  • --target= - 目标 IQN(iSCSI 限定名称)。
  • --iface= - 绑定到特定网络接口的连接,而不是使用由网络层决定的默认接口。一旦使用,必须在整个 Kickstart 文件的 iscsi 命令的所有实例中指定它。
  • --user= - 需要与目标进行验证的用户名
  • --password= - 与为目标指定的用户名对应的密码
  • --reverse-user= - 用于与来自使用反向 CHAP 验证对象的初始程序一同进行验证的用户名
  • --reverse-password= - 与为发起方指定的用户名对应的密码

备注

  • 如果使用 iscsi 命令,还必须使用 iscsiname 命令为 iSCSI 节点分配一个名称。iscsiname 命令必须在 Kickstart 文件中的 iscsi 命令前出现。
  • 在可能的情况下,在系统 BIOS 或者固件中配置 iSCSI 存储,而不是使用该 iscsi 命令。Anaconda 自动检测并使用在 BIOS 或固件中配置的磁盘,且在 Kickstart 文件中不需要特殊配置。
  • 如果您必须使用 iscsi 命令,确定在开始安装时激活了网络连接,且在您使用 clearpartignoredisk 等类似命令指代 iSCSI 磁盘iscsi 命令出现在 Kickstart 文件中 。

B.5.9. iscsiname

iscsiname Kickstart 命令是可选的。它为 iscsi 命令指定的 iSCSI 节点分配一个名称。

语法

iscsiname iqname

选项

  • iqname - 分配给 iSCSI 节点的名称。

备注

  • 如果您在 Kickstart 文件中使用 iscsi 命令,则必须之前在 Kickstart 文件前面的部分指定了iscsiname

B.5.10. logvol

logvol Kickstart 命令是可选的。它为逻辑卷管理(LVM)创建一个逻辑卷。

语法

logvol mntpoint --vgname=name --name=name [OPTIONS]

必填选项

  • mntpoint - 挂载分区的挂载点。必须是以下格式之一:

    • /path

      例如 //home

    • swap

      该分区被用作交换空间。

      要自动决定 swap 分区的大小,使用 --recommended

      swap --recommended

      要自动决定交换分区的大小,并允许系统的额外空间可以休眠,使用 --hibernation 选项:

      swap --hibernation

      分配的分区大小为由 --recommended 分配的交换分区再加上所在系统上的内存总量。

      有关这些命令分配的 swap 大小,请参阅 AMD64、Intel 64 和 64 位 ARM 系统的 第 C.4 节 “推荐的分区方案”

  • --vgname=name - 卷组名称。
  • --name=name - 逻辑卷的名称。

可选选项

  • --noformat - 使用现有逻辑卷且不要对其进行格式化。
  • --useexisting - 使用现有逻辑卷并重新格式化它。
  • --fstype= - 为逻辑卷设置文件系统类型。有效值包括 xfsext2ext3ext4swapvfat
  • --fsoptions= - 指定在挂载文件系统时所用选项的自由格式字符串。这个字符串将被复制到安装的系统的 /etc/fstab 文件中,并使用引号括起来。
  • --mkfsoptions= - 指定要传递给在这个分区上创建文件系统的程序的其他参数。没有对参数列表进行任何操作,因此必须以可直接传递给 mkfs 程序的格式提供。这意味着,根据具体文件系统,多个选项应该用逗号分开,或使用双引号分开。
  • --fsprofile= - 指定传递给在这个分区上创建文件系统的程序的使用类型。使用类型定义了创建文件系统时使用的各种微调参数。要使用这个选项,文件系统必须支持使用类型,且必须有一个配置文件来列出有效类型。对于 ext2ext3ext4,这个配置文件是 /etc/mke2fs.conf.
  • --label= - 为逻辑卷设置标签。
  • --grow - 扩展逻辑卷以占据可用空间(若有),或使用指定的最大值(若有)。只有在磁盘镜像中预分配了最小存储空间时,必须使用该选项,并希望该卷扩展并占据所有可用空间。在物理环境中,这是一次性的操作。但是在虚拟环境中,当虚拟机将任何数据写入虚拟磁盘时,卷大小会增加。
  • --size= - MiB 中的逻辑卷的大小。这个选项不能与 --percent= 选项一同使用。
  • --percent= - 考虑任何静态大小逻辑卷时的逻辑卷大小,作为卷组中剩余空间的百分比。这个选项不能与 --size= 选项一同使用。

    重要

    当创建新逻辑卷时,必须使用 --size= 选项静态指定其大小,或使用 --percent= 选项指定剩余空间的比例。您不能在同一逻辑卷中同时使用这些选项。

  • --maxsize= - 当将逻辑卷设置为可扩充时 MiB 的最大值。在这里指定一个整数值,如 500 (不要在数字后面加单位)。
  • --recommended - 创建逻辑卷时使用这个选项,根据您的系统硬件自动决定这个卷的大小。有关推荐方案的详情,请参阅 AMD64、Intel 64 和 64 位 ARM 系统的 第 C.4 节 “推荐的分区方案”
  • --resize - 重新调整逻辑卷大小。如果使用这个选项,必须同时指定 --useexisting--size
  • --encrypted - 指定该逻辑卷应该用 LUKS 加密,使用 --passphrase= 选项中提供的密码短语。如果您没有指定密码短语,安装程序将使用 autopart --passphrase 命令设定的默认系统级密码,或者在未设定默认密码时暂停安装并提示您输入密码短语。

    注意

    在加密一个或多个分区时, Anaconda 会尝试收集 256 字节熵,以保证安全加密分区。收集熵可能需要一些时间 - 无论是否有收集到足够的熵,该过程将在最多 10 分钟后停止。

    与安装系统互动(通过键盘输入或移动鼠标)可加速此进程。如果要在虚拟机中安装,也可以在 virtio-rng 客户端中添加设备(虚拟随机数生成器)。

  • --passphrase= - 指定在加密这个逻辑卷时要使用的密码短语。这个选项必须与 --encrypted 选项一同使用,单独使用无效。
  • --cipher= - 如果无法满足 Anaconda 的默认 aes-xts-plain64 设置,则需要指定加密类型。这个选项必须与 --encrypted 选项一同使用,单独使用无效。安全强化文档中列出了可用加密类型,但红帽强烈推荐您使用 aes-xts-plain64aes-cbc-essiv:sha256
  • --escrowcert=URL_of_X.509_certificate - 将所有加密卷的数据加密密钥保存为文件 /root,使用来自 URL_of_X.509_certificate 指定的 URL 的 X.509 证书进行加密。每个加密卷的密钥都作为单独的文件保存。只有在指定了 --encrypted 时这个选项才有意义。
  • --luks-version=LUKS_VERSION - 指定应该用来加密文件系统的 LUKS 格式版本。只有在指定了 --encrypted 时这个选项才有意义。
  • --backuppassphrase - 为每个加密卷添加随机生成的密码短语。将这些密码短语以独立文件形式保存到 /root,使用由 --escrowcert 指定的 X.509 证书加密。只有在指定了 --escrowcert 时这个选项才有意义。
  • --pbkdf=PBKDF - 为 LUKS keylot 设置 PBKDF(Password-Based Key Derivation Function)算法。另请参阅 man page cryptsetup(8)。只有在指定了 --encrypted 时这个选项才有意义。
  • --pbkdf-memory=PBKDF_MEMORY - 为 PBKDF 设置内存成本。另请参阅 man page cryptsetup(8)。只有在指定了 --encrypted 时这个选项才有意义。
  • --pbkdf-time=PBKDF_TIME - 设置 PBKDF 密码处理所消耗的毫秒数。详情请参阅 man page cryptsetup(8) 中的 --iter-time 部分。这个选项只在指定了 --encrypted 时才有意义,并且与 --pbkdf-iterations 相互排斥。
  • --pbkdf-iterations=PBKDF_ITERATIONS - 设定直接迭代的次数,并避免 PBKDF 基准数据。详情请参阅 man page cryptsetup(8) 中的 --pbkdf-force-iterations 部分。这个选项只在指定了 --encrypted 时才有意义,并且与 --pbkdf-time 相互排斥。
  • --thinpool - 创建精简池逻辑卷。(使用挂载点 none
  • --metadatasize=size - 为新的精简池设备指定元数据大小(单位 MiB)。
  • --chunksize=size - 为新的精简池设备指定块大小(单位 KiB)。
  • --thin - 创建精简逻辑卷。(要求使用 --poolname
  • --poolname=name - 指定在其中创建精简逻辑卷的精简池名称。需要 --thin 选项。
  • --profile=name - 指定与精简逻辑卷搭配使用的配置配置集的名称。如果使用,该名称也会包含在给定逻辑卷的元数据中。默认情况下,可用的配置集是 defaultthin-performance,且在 /etc/lvm/profile/ 目录中定义。详情请查看 lvm(8) man page。
  • --cachepvs= - 用逗号分开的物理卷列表,它应用作这个卷的缓存。
  • --cachemode= - 指定应该使用哪种模式缓存这个逻辑卷 - writebackwritethrough

    注意

    有关缓存的逻辑卷及其模式的详情,请参考 lvmcache(7) man page。

  • --cachesize= - 附加到逻辑卷的缓存大小,以 MiB 为单位。这个选项需要 --cachepvs= 选项。

备注

  • 在使用 Kickstart 安装 Red Hat Enterprise Linux 时,不要在逻辑卷和卷组名称中使用小横线(-)。如果使用这个字符,安装会完成,但 /dev/mapper/ 目录会列出这些卷和卷组的每个横线都会加倍。例如:名为 volgrp-01 的卷组包含一个逻辑卷 logvol-01,它将被列为 /dev/mapper/volgrp—​01-logvol—​01

    这个限制只适用于新创建的逻辑卷和卷组名称。如果您使用 --noformat 重新使用现有名称,则它们的名称不会被更改。

  • 如果您丢失了 LUKS 密码短语,那么就完全无法访问所有加密的分区及其数据。丢失的密码短语是无法找回的。但是,您可以使用 --escrowcert 选项保存加密密码短语,并使用 --backuppassphrase 生成加密密码短语备份。

示例

  • 首先创建分区,然后创建逻辑卷组,然后创建逻辑卷:

    part pv.01 --size 3000
    volgroup myvg pv.01
    logvol / --vgname=myvg --size=2000 --name=rootvol
  • 首先创建分区,然后创建逻辑卷组,再创建逻辑卷以占据卷组中剩余的 90% 空间:

    part pv.01 --size 1 --grow
    volgroup myvg pv.01
    logvol / --vgname=myvg --name=rootvol --percent=90

其它资源

B.5.11. mount

mount Kickstart 命令是可选的。它为现有块设备分配挂载点,并选择性地将其重新格式化为给定格式。

语法

mount [OPTIONS] device mountpoint

必须的选项

  • device - 要挂载的块设备。
  • mountpoint - 在哪里挂载 device。它必须是有效的挂载点,如 //usrnone 如果该设备是不可卸载的(例如 swap)。

可选选项:

  • --reformat= - 指定重新格式化该设备的新格式(比如 ext4)。
  • --mkfsoptions= - 指定要传递给命令的附加选项,以便生成在其中指定的新文件系统 --reformat=。这里提供的选项列表没有被处理,因此必须使用可直接传递给该程序的格式 mkfs。根据具体文件系统,选项列表应该用逗号分开,或使用双引号分开。有关具体详情,请查看 mkfs man page(例如 mkfs.ext4(8)mkfs.xfs(8))。
  • --mountoptions= - 指定包含挂载文件系统时要使用的选项的自由格式字符串。将字符串复制到安装的系统上的 /etc/fstab 文件,并使用双引号括起来。挂载选项的完整列表及 fstab(5) 基本信息,请查看 mount(8) man page。

备注

  • 与 Kickstart 中的大多数其它存储配置命令不同,mount 不需要在 Kickstart 文件中描述整个存储配置。您只需要确定系统中存在描述的块设备。但是,如果要使用挂载的所有设备创建存储堆栈,则必须使用其他命令,比如 part 要这样做。
  • 在同一个 Kickstart 文件中,您不能将 mount 与其他存储相关的命令,如 partlogvolautopart 一起使用。

B.5.12. nvdimm

nvdimm Kickstart 命令是可选的。它对非线性内存模块(NVDIMM)设备执行操作。

语法

nvdimm action [OPTIONS]

操作

  • reconfigure - 将特定的 NVDIMM 设备重新配置为给定模式。另外,指定的设备被隐式标记为要使用的,因此后续的同一设备 nvdimm use 命令就冗余了。这个操作使用以下格式:

    nvdimm reconfigure [--namespace=NAMESPACE] [--mode=MODE] [--sectorsize=SECTORSIZE]
    • --namespace= - 按命名空间的设备规格。例如:

      nvdimm reconfigure --namespace=namespace0.0 --mode=sector --sectorsize=512
    • --mode= - 模式规格。目前,只有 sector 值可用。
    • --sectorsize= - 扇区模式的扇区大小。例如:

      nvdimm reconfigure --namespace=namespace0.0 --mode=sector --sectorsize=512

      支持的扇区大小为 512 和 4096 字节。

  • use - 将 NVDIMM 设备指定为安装目标。该设备必须已经被配置为扇区模式 nvdimm reconfigure。这个操作使用以下格式:

    nvdimm use [--namespace=NAMESPACE|--blockdevs=DEVICES]
    • --namespace= - 按命名空间指定设备。例如:

      nvdimm use --namespace=namespace0.0
    • --blockdevs= - 指定以逗号分隔的与要使用的 NVDIMM 设备对应的块设备列表。支持星号 * 通配符。例如:

      nvdimm use --blockdevs=pmem0s,pmem1s
      nvdimm use --blockdevs=pmem*

备注

  • 默认情况下,安装程序忽略所有 NVDIMM 设备。您必须使用 nvdimm 命令在这些设备中启用安装。

B.5.13. part 或 partition

partpartition Kickstart 命令是必需的。它在系统上创建一个分区。

语法

part|partition mntpoint --name=name --device=device --rule=rule [OPTIONS]

选项

  • mntpoint - 挂载分区的位置。该值必须是以下格式之一:

    • /path

      例如,//usr/home

    • swap

      该分区被用作交换空间。

      要自动决定 swap 分区的大小,使用 --recommended

      swap --recommended

      分配的大小将生效,但不会根据您的系统进行精确校准。

      使用 --hibernation 选项:

      swap --hibernation

      分配的分区大小为由 --recommended 分配的交换分区再加上所在系统上的内存总量。

      有关这些命令分配的 swap 大小,请参阅 AMD64、Intel 64 和 64 位 ARM 系统的 第 C.4 节 “推荐的分区方案”

    • raid.id

      该分区用于软件 RAID(请查看 raid)。

    • pv.id

      该分区用于 LVM(请查看 logvol)。

    • biosboot

      该分区将用在 BIOS 引导分区中。在使用 BIOS 的 AMD64 和 Intel 64 系统中使用 GUID 分区表(GPT)中需要 1 MiB BIOS 引导分区 ; 引导装载程序将被安装到其中。UEFI 系统中不需要此功能。另请参阅 bootloader 命令。

    • /boot/efi

      一个 EFI 系统分区。基于 UEFI 的 AMD64、Intel 64 和 64 位 ARM 上需要 50 MiB EFI 分区。推荐的大小为 200 MiB。它在 BIOS 系统上并不需要。另请参阅 bootloader 命令。

  • --size= - MiB 中分区最小值。在这里指定一个整数值,如 500 (不要在数字后面加单位)。

    重要

    如果 --size 值太小,则安装会失败。设置 --size 值作为要求的最小空间量。有关大小建议,请参阅 第 C.4 节 “推荐的分区方案”

  • --grow - 告诉分区使用所有可用空间(若有),或使用设置的最大值(如果指定了最大值)。

    注意

    如果在一个 swap 分区中使用 --grow= 时没有设置 --maxsize=,Anaconda 会限制 swap 分区的最大值。对于物理内存小于 2GB 的系统,强制的限制为物理内存的两倍。对于内存大于 2GB 的系统,这个强制限制为物理内存值再加 2GB。

  • --maxsize= - 当分区被设置为可扩充时,MiB 中的最大分区大小。在这里指定一个整数值,如 500 (不要在数字后面加单位)。
  • --noformat - 指定安装程序不要格式化分区,与 --onpart 命令一起使用。
  • --onpart=--usepart= - 指定放置分区的设备。使用现有的空白设备并将其格式化到新指定类型。例如:

    partition /home --onpart=hda1

    /dev/hda1 中创建 /home

    这些选项还可以在逻辑卷中添加分区。例如:

    partition pv.1 --onpart=hda2

    该设备必须已存在于系统中,--onpart 选项不会创建该设备。

    在这种情况下, Anaconda 会在不创建分区表的情况下格式化并使用驱动器。但请注意,使用这种方式格式化的设备中不支持 GRUB2 安装,且必须将其放在有分区表的驱动器中。

    partition pv.1 --onpart=hdb
  • --ondisk=--ondrive= - 在现有磁盘中创建分区(由 part 命令指定)。这个命令总是创建一个分区。强制在特定磁盘中创建分区。例如:将分区 --ondisk=sdb 置于系统的第二个 SCSI 磁盘中。

    要指定不使用逻辑卷管理(LVM)的多路径设备,使用格式 disk/by-id/dm-uuid-mpath-WWID,其中 WWID 是该设备的通用识别符。例如:要指定 WWID 为 2416CD96995134CA5D787F00A5AA11017 的磁盘,使用:

    part / --fstype=xfs --grow --asprimary --size=8192 --ondisk=disk/by-id/dm-uuid-mpath-2416CD96995134CA5D787F00A5AA11017
    警告

    不要使用类似设备名称指定多路径设备,如 mpatha。这样的设备名称并不是特定磁盘特有的。/dev/mpatha 在安装过程中命名的磁盘可能不是您期望的磁盘。因此,clearpart 命令可能会对错误的磁盘进行操作。

  • --asprimary - 强制将该分区分配为分区。如果无法将该分区作为主分区分配(通常是因为已经分配了太多的主分区),则该分区进程会失败。只有使用主引导记录(MBR)时这个选项才有意义。
  • --fsprofile= - 指定传递给在这个分区上创建文件系统的程序的使用类型。使用类型定义了创建文件系统时使用的各种微调参数。要使用这个选项,文件系统必须支持使用类型,且必须有一个配置文件来列出有效类型。对于 ext2ext3ext4,这个配置文件是 /etc/mke2fs.conf
  • --mkfsoptions= - 指定要传递给在这个分区上创建文件系统的程序的其他参数。--fsprofile 与所有文件系统类似,不仅可用于支持该配置集概念的文件系统。没有对参数列表进行任何操作,因此必须以可直接传递给 mkfs 程序的格式提供。这意味着,根据具体文件系统,多个选项应该用逗号分开,或使用双引号分开。
  • --fstype= - 为分区设置文件系统类型。有效值为 xfs、、ext2ext3 ext4swap vfatefibiosboot
  • --fsoptions - 指定在挂载文件系统时所用选项的自由格式字符串。这个字符串将被复制到安装的系统的 /etc/fstab 文件中,并使用引号括起来。
  • --label= - 为独立分区分配标签。
  • --recommended - 自动决定分区大小。有关推荐方案的详情,请参阅 AMD64、Intel 64 和 64 位 ARM 的 第 C.4 节 “推荐的分区方案”

    重要

    这个选项只能用于创建文件系统的分区,比如 /boot 分区和 swap 空间。它不能被用来创建 LVM 物理卷或 RAID 成员。

  • --onbiosdisk - 强制在 BIOS 发现的特定磁盘中创建分区。
  • --encrypted - 指定该分区应该用 LUKS 加密,使用 --passphrase 选项中提供的密码短语。如果您没有指定密码短语,Anaconda 将使用 autopart --passphrase 命令设定的默认系统级密码,或者停止安装并在未设定默认密码短语时提示您输入密码短语。

    注意

    在加密一个或多个分区时, Anaconda 会尝试收集 256 字节熵,以保证安全加密分区。收集熵可能需要一些时间 - 无论是否有收集到足够的熵,该过程将在最多 10 分钟后停止。

    与安装系统互动(通过键盘输入或移动鼠标)可加速此进程。如果要在虚拟机中安装,也可以在 virtio-rng 客户端中添加设备(虚拟随机数生成器)。

  • --luks-version=LUKS_VERSION - 指定应该用来加密文件系统的 LUKS 格式版本。只有在指定了 --encrypted 时这个选项才有意义。
  • --passphrase= - 指定在加密这个分区时要使用的密码短语。这个选项必须与 --encrypted 选项一同使用,单独使用无效。
  • --cipher= - 如果无法满足 Anaconda 的默认 aes-xts-plain64 设置,则需要指定加密类型。这个选项必须与 --encrypted 选项一同使用,单独使用无效。安全强化文档中列出了可用加密类型,但红帽强烈推荐您使用 aes-xts-plain64aes-cbc-essiv:sha256
  • --escrowcert=URL_of_X.509_certificate - 将所有加密分区的数据加密密钥保存为文件 /root,使用来自 URL_of_X.509_certificate 指定的 URL 的 X.509 证书进行加密。每个加密分区的密钥都作为单独的文件保存。只有在指定了 --encrypted 时这个选项才有意义。
  • --backuppassphrase - 为每个加密分区添加随机生成的密码短语。将这些密码短语以独立文件形式保存到 /root,使用由 --escrowcert 指定的 X.509 证书加密。只有在指定了 --escrowcert 时这个选项才有意义。
  • --pbkdf=PBKDF - 为 LUKS keylot 设置 PBKDF(Password-Based Key Derivation Function)算法。另请参阅 man page cryptsetup(8)。只有在指定了 --encrypted 时这个选项才有意义。
  • --pbkdf-memory=PBKDF_MEMORY - 为 PBKDF 设置内存成本。另请参阅 man page cryptsetup(8)。只有在指定了 --encrypted 时这个选项才有意义。
  • --pbkdf-time=PBKDF_TIME - 设置 PBKDF 密码处理所消耗的毫秒数。详情请参阅 man page cryptsetup(8) 中的 --iter-time 部分。这个选项只在指定了 --encrypted 时才有意义,并且与 --pbkdf-iterations 相互排斥。
  • --pbkdf-iterations=PBKDF_ITERATIONS - 设定直接迭代的次数,并避免 PBKDF 基准数据。详情请参阅 man page cryptsetup(8) 中的 --pbkdf-force-iterations 部分。这个选项只在指定了 --encrypted 时才有意义,并且与 --pbkdf-time 相互排斥。
  • --resize= - 重新定义现有分区大小。使用这个选项时,使用 --size= 选项指定目标的大小(单位 MiB),使用 --onpart= 指定目标分区。

备注

  • part 命令不是强制的,但您必须在 Kickstart 脚本中包含 partautopartmount
  • --active 选项在 Red Hat Enterprise Linux 8 中已弃用。
  • 如果因为某种原因分区失败,虚拟控制台 3 中会显示诊断信息。
  • 所有创建的分区都会作为安装过程的一部分进行格式化,除非 --noformat--onpart 被使用。
  • 使用 sdX (或 /dev/sdX)格式的设备名称在重启后可能无法保证它们的一致性,这会使一些 Kickstart 命令的使用变得复杂。当某个命令调用设备节点名称时,您可以使用 /dev/disk 中的任何项目。例如,改为:

    part / --fstype=xfs --onpart=sda1

    您可以使用类似以下条目之一:

    part / --fstype=xfs --onpart=/dev/disk/by-path/pci-0000:00:05.0-scsi-0:0:0:0-part1
    part / --fstype=xfs --onpart=/dev/disk/by-id/ata-ST3160815AS_6RA0C882-part1

    这样命令总是以同一存储设备为目标。这在大型存储环境中特别有用。相关详情,请参阅管理存储设备文档中的持久性名称属性概述部分。

  • 如果您丢失了 LUKS 密码短语,那么就完全无法访问所有加密的分区及其数据。丢失的密码短语是无法找回的。但是,您可以使用 --escrowcert 选项保存加密密码短语,并使用 --backuppassphrase 生成加密密码短语备份。

B.5.14. raid

raid Kickstart 命令是可选的。它组成一个软件 RAID 设备。

语法

raid mntpoint --level=level --device=device-name partitions*

选项

  • mntpoint - 挂载 RAID 文件系统的位置。如果是 /,RAID 级别必须是 1,除非引导分区(/boot)存在。如果引导分区存在,/boot 分区必须是级别 1,root(/)分区可以是任何可用的类型。partitions* (代表多个分区可以被列举)列出了要添加到 RAID 阵列的 RAID 标记。

    重要

    在 IBM Power 系统中,如果一个 RAID 设备已经准备好,且在安装过程中没有重新格式化,请确定 RAID 元数据版本是 0.90 您要将 RAID 设备 /bootPReP 分区放在一起。

    默认 Red Hat Enterprise Linux 7 mdadm 元数据版本不支持引导设备。

  • --level= - 要使用的 RAID 级别(0、1、4、5、6 或者 10)。有关各种可用 RAID 级别的详情,请查看 第 C.3 节 “支持的 RAID 类型”
  • --device= - 要使用的 RAID 设备名称 - 例如 --device=root:

    重要

    不要使用 md0 格式的 mdraid 名称 - 无法保证这些名称具有持久性。应该使用有意义的名称,比如 root 或者 swap。使用有含义的名称可生成一个符号链接 /dev/md/name ,在 /dev/mdX 其间为该阵列分配节点。

    如果您有一个无法为其分配名称的旧阵列(v0.90 元数据),您可以使用文件系统标签或者 UUID(例如: --device=rhel7-root --label=rhel7-root)指定该阵列。

  • --chunksize= - 以 KiB 为单位设定 RAID 存储的块大小。在某些情况下,使用不同于默认(512 Kib)的块大小可提高 RAID 的性能。
  • --spares= - 指定为 RAID 阵列分配的备用驱动器数目。可使用备用驱动器在驱动器失败时重建阵列。
  • --fsprofile= - 指定传递给在这个分区上创建文件系统的程序的使用类型。使用类型定义了创建文件系统时使用的各种微调参数。要使用这个选项,文件系统必须支持使用类型,且必须有一个配置文件来列出有效类型。对于 ext2、ext3 和 ext4,这个配置文件是 /etc/mke2fs.conf
  • --fstype= - 为 RAID 阵列设置文件系统类型。有效值包括 xfsext2ext3ext4swapvfat
  • --fsoptions= - 指定在挂载文件系统时所用选项的自由格式字符串。这个字符串将被复制到安装的系统的 /etc/fstab 文件中,并使用引号括起来。
  • --mkfsoptions= - 指定要传递给在这个分区上创建文件系统的程序的其他参数。没有对参数列表进行任何操作,因此必须以可直接传递给 mkfs 程序的格式提供。这意味着,根据具体文件系统,多个选项应该用逗号分开,或使用双引号分开。
  • --label= - 指定要生成的文件系统的标签。如果给定标签已被另一个文件系统使用,则会创建一个新标签。
  • --noformat - 使用现有的 RAID 设备,且不要格式化 RAID 阵列。
  • --useexisting - 使用现有的 RAID 设备并重新格式化它。
  • --encrypted - 指定该 RAID 应该用 LUKS 加密,使用 --passphrase 选项中提供的密码短语。如果您没有指定密码短语,Anaconda 将使用 autopart --passphrase 命令设定的默认系统级密码,或者停止安装并在未设定默认密码短语时提示您输入密码短语。

    注意

    在加密一个或多个分区时, Anaconda 会尝试收集 256 字节熵,以保证安全加密分区。收集熵可能需要一些时间 - 无论是否有收集到足够的熵,该过程将在最多 10 分钟后停止。

    与安装系统互动(通过键盘输入或移动鼠标)可加速此进程。如果要在虚拟机中安装,也可以在 virtio-rng 客户端中添加设备(虚拟随机数生成器)。

  • --luks-version=LUKS_VERSION - 指定应该用来加密文件系统的 LUKS 格式版本。只有在指定了 --encrypted 时这个选项才有意义。
  • --cipher= - 如果无法满足 Anaconda 的默认 aes-xts-plain64 设置,则需要指定加密类型。这个选项必须与 --encrypted 选项一同使用,单独使用无效。安全强化文档中列出了可用加密类型,但红帽强烈推荐您使用 aes-xts-plain64aes-cbc-essiv:sha256
  • --passphrase= - 指定在加密这个 RAID 设备时要使用的密码短语。这个选项必须与 --encrypted 选项一同使用,单独使用无效。
  • --escrowcert=URL_of_X.509_certificate - 将这个设备的数据加密密钥保存在 /root 中的一个文件中,使用来自 URL_of_X.509_certificate 指定的 URL 的 X.509 证书加密。只有在指定了 --encrypted 时这个选项才有意义。
  • --backuppassphrase - 为这个设备添加随机生成的密码短语。使用由 --escrowcert 指定的 X.509 证书进行加密,并保存在 /root 的一个文件中。只有在指定了 --escrowcert 时这个选项才有意义。
  • --pbkdf=PBKDF - 为 LUKS keylot 设置 PBKDF(Password-Based Key Derivation Function)算法。另请参阅 man page cryptsetup(8)。只有在指定了 --encrypted 时这个选项才有意义。
  • --pbkdf-memory=PBKDF_MEMORY - 为 PBKDF 设置内存成本。另请参阅 man page cryptsetup(8)。只有在指定了 --encrypted 时这个选项才有意义。
  • --pbkdf-time=PBKDF_TIME - 设置 PBKDF 密码处理所消耗的毫秒数。详情请参阅 man page cryptsetup(8) 中的 --iter-time 部分。这个选项只在指定了 --encrypted 时才有意义,并且与 --pbkdf-iterations 相互排斥。
  • --pbkdf-iterations=PBKDF_ITERATIONS - 设定直接迭代的次数,并避免 PBKDF 基准数据。详情请参阅 man page cryptsetup(8) 中的 --pbkdf-force-iterations 部分。这个选项只在指定了 --encrypted 时才有意义,并且与 --pbkdf-time 相互排斥。

示例

下面的例子展示,假定系统里有三个 SCSI 磁,如何为 / 创建 RAID 1 分区,为 /home 创建 RAID 5。它还创建三个交换分区,每个驱动器都有一个。

part raid.01 --size=6000 --ondisk=sda
part raid.02 --size=6000 --ondisk=sdb
part raid.03 --size=6000 --ondisk=sdc
part swap --size=512 --ondisk=sda
part swap --size=512 --ondisk=sdb
part swap --size=512 --ondisk=sdc
part raid.11 --size=1 --grow --ondisk=sda
part raid.12 --size=1 --grow --ondisk=sdb
part raid.13 --size=1 --grow --ondisk=sdc
raid / --level=1 --device=rhel8-root --label=rhel8-root raid.01 raid.02 raid.03
raid /home --level=5 --device=rhel8-home --label=rhel8-home raid.11 raid.12 raid.13

备注

  • 如果您丢失了 LUKS 密码短语,那么就完全无法访问所有加密的分区及其数据。丢失的密码短语是无法找回的。但是,您可以使用 --escrowcert 选项保存加密密码短语,并使用 --backuppassphrase 生成加密密码短语备份。

B.5.15. reqpart

reqpart Kickstart 命令是可选的。它自动创建您的硬件平台所需的分区。这为带有 UEFI 固件的系统包括一个 /boot/efi 分区,带有 BIOS 固件和 GPT 的系统包括 biosboot 分区,为 IBM Power 系统包括 PRePBoot 分区。

语法

reqpart [--add-boot]

选项

  • --add-boot - 除使用基本命令创建 /boot 的具体平台分区外,还可创建单独的分区。

备注

  • 这个命令不能与 autopart 命令一同使用,因为autopart 会做所有 reqpart 命令要做的命令,另外,还创建其他分区或者逻辑卷,比如 /swap。与 autopart 不同,这个命令只创建具体平台的分区,并让驱动器的其它部分留空,以便您创建自定义布局。

B.5.16. snapshot

snapshot Kickstart 命令是可选的。在安装过程中使用 LVM 精简卷快照来创建 LVM 精简卷快照。这可让您在安装前或安装后备份逻辑卷。

要创建多个快照,多次添加 snaphost Kickstart 命令。

语法

snapshot vg_name/lv_name --name=snapshot_name --when=pre-install|post-install

选项

  • vg_name/lv_name - 设定卷组和逻辑卷的名称以便从中创建快照。
  • --name=snapshot_name - 设置快照的名称。这个名称在卷组中必须是唯一的。
  • --when=pre-install|post-install - 如果在安装开始前或者安装完成后创建快照,则进行设置。

B.5.17. volgroup

volgroup Kickstart 命令是可选的。它创建一个逻辑卷管理(LVM)组。

语法

volgroup name [OPTIONS] [partition*]

必填选项

  • name - 新卷组的名称。

选项

  • partition - 用作卷组存储支持的物理卷分区。
  • --noformat - 使用现有卷组,且不对其进行格式化。
  • --useexisting - 使用现有卷组,重新格式化它。如果使用这个选项,不要指定分区。例如:

    volgroup rhel00 --useexisting --noformat
  • --pesize= - 以 KiB 为单位设定卷组物理扩展的大小。默认值为 4096(4 MiB),最小值为 1024(1 MiB)。
  • --reserved-space= - 指定 MiB 中卷组中未使用的空间量。只适用于新创建的卷组。
  • --reserved-percent= - 指定卷组保留未使用空间的比例。只适用于新创建的卷组。

备注

  • 首先创建分区,然后创建逻辑卷组,然后创建逻辑卷。例如:

    part pv.01 --size 10000
    volgroup my_volgrp pv.01
    logvol / --vgname=my_volgrp --size=2000 --name=root
  • 在使用 Kickstart 安装 Red Hat Enterprise Linux 时,不要在逻辑卷和卷组名称中使用小横线(-)。如果使用这个字符,安装会完成,但 /dev/mapper/ 目录会列出这些卷和卷组的每个横线都会加倍。例如:名为 volgrp-01 的卷组包含一个名为 logvol-01 的逻辑卷将会被列出为 /dev/mapper/volgrp--01-logvol--01

    这个限制只适用于新创建的逻辑卷和卷组名称。如果您使用 --noformat 重新使用现有名称,则它们的名称不会被更改。

B.5.18. zerombr

zerombr Kickstart 命令是可选的。zerombr 初始化磁盘上找到的所有无效分区表并销毁有无效分区表的磁盘的所有内容。当在带有未格式化的 Direct Access Storage Device(DASD)磁盘的 IBM Z 系统中执行安装时,需要这个命令,否则未格式化的磁盘不会被格式化并在安装过程中使用。

语法

zerombr

备注

  • 在 IBM Z 上,如果指定了 zerombr,安装程序可以看到所有没有低级格式化的直接访问存储设备(DASD)都会使用 dasdfmt 自动进行低级格式化。这个命令还可防止用户在互动安装过程中进行选择。
  • 如果没有指定 zerombr,且安装程序至少可以看到一个未格式化的 DASD,非互动的 Kickstart 安装将无法成功退出。
  • 如果没有指定 zerombr,且安装程序至少可以看到一个未格式化的 DASD,如果用户同意格式化所有可见和未格式化的 DASD,则会退出互动安装。要绕过这个过程,请只激活那些您要在安装过程中使用的 DASD。您总是可在安装完成后添加更多的 DASD。
  • 这个命令没有选项。

B.5.19. zfcp

zfcp Kickstart 命令是可选的。它定义了光纤通道设备。

这个选项仅适用于 IBM Z。必须指定以下所有选项。

语法

zfcp --devnum=devnum --wwpn=wwpn --fcplun=lun

选项

  • --devnum= - 设备号(zFCP 适配器设备总线 ID)。
  • --wwpn= - 该设备的全球端口名称(WWPN)。其格式为 16 位数字,在前面使用 0x
  • --fcplun= - 该设备的逻辑单元号(LUN)。其格式为 16 位数字,在前面使用 0x

示例

zfcp --devnum=0.0.4000 --wwpn=0x5005076300C213e9 --fcplun=0x5022000000000000

B.6. RHEL 安装程序提供的附加组件的 Kickstart 命令

这部分中的 Kickstart 命令与 Red Hat Enterprise Linux 安装程序默认提供的附加组件相关: Kdump 和 OpenSCAP。

B.6.1. %addon com_redhat_kdump

%addon com_redhat_kdump Kickstart 命令是可选的。这个命令配置 kdump 内核崩溃转储机制。

语法

%addon com_redhat_kdump [OPTIONS]
%end

注意

这个命令的语法比较特殊,因为它是一个附加组件,不是内置的 Kickstart 命令。

备注

Kdump 是内核崩溃转储机制,可让您保存系统内存内容,以便稍后进行分析。它依赖于 kexec,可用来在不重启系统的情况下从另一个内核上下文引导 Linux 内核,并保留第一个内核内存的内容,否则会丢失第一个内核的内存。

如果系统崩溃,kexec 引导至第二个内核(一个捕获内核)。这个捕获内核位于系统内存的保留部分。然后 Kdump 会捕获崩溃内核的内存(崩溃转储)并将其保存到指定位置。无法用这个 Kickstart 命令配置该位置,必须在安装后编辑 /etc/kdump.conf 配置文件配置该位置。

有关 Kdump 的详情请参考管理、监控和 更新内核文档中的安装和配置 kdump 章节。

选项

  • --enable - 在安装的系统中启用 kdump。
  • --disable - 在安装的系统中禁用 kdump。
  • --reserve-mb= - 要为 kdump 保留的内存量,单位为 MiB。例如:

    %addon com_redhat_kdump --enable --reserve-mb=128
    %end

    您也可以指定auto而不是具体的数值。在这种情况下,安装程序将根据 管理、监控和更新内核 文档中的 kdump 内存要求部分中描述的标准自动决定内存量。

    如果启用 kdump 但未指定 --reserve-mb= 选项,则会使用 auto 值。

  • --enablefadump - 在系统中启用固件辅助转储允许它(特别是 IBM Power Systems 服务器)。

B.6.2. %addon org_fedora_oscap

%addon org_fedora_oscap Kickstart 命令是可选的。

OpenSCAP 安装程序附加组件是用来在安装的系统中应用 SCAP(安全内容自动化协议)内容 - 安全策略。从 Red Hat Enterprise Linux 7.2 开始默认启用此附加组件。启用后,会自动安装提供这个功能的软件包。但默认情况下不会强制任何策略。这代表,除非特别指定,在安装过程中或安装后不会执行任何检查。

重要

不需要在所有系统中应用安全策略。只有在您的机构规则或政府法规强制某种策略时,才使用这个命令。

与大多数命令不同,这个附加组件不接受常规选项,而是使用 %addon 定义主体中的键值对。这些键值对无法验证空白。值可以选择使用单引号(')或者双引号(")括起来。

语法

%addon org_fedora_oscap
key = value
%end

Keys

以下键可以被附加组件识别:

  • content-type - 安全内容的类型。可能的值有 datastreamarchiverpm、和 scap-security-guide

    如果 content-typescap-security-guide,则附加组件将使用由 提供的内容 scap-security-guide 软件包,它存在于启动介质中。这代表,除 profile 此外所有其他键都无效。

  • content-url - 安全内容的位置。必须通过 HTTP、HTTPS 或者 FTP 访问该内容。必须有可用的网络连接方可访问远程位置中的内容定义。
  • datastream-id - 该值中引用的数据流的 ID content-url。仅在 content-typedatastream 时使用。
  • xccdf-id - 要使用的基准数据的 ID。
  • content-path - 应使用到 datastream 或 XCCDF 文件的路径,在归档中使用相对路径。
  • profile - 要应用的配置集 ID。default 用来应用默认配置集。
  • fingerprint - 由 content-url 引用的内容的 MD5、SHA1 或 SHA2 校验和。
  • tailoring-path - 应使用的定制文件的路径,在归档中作为相对路径指定。

示例

  • 以下是使用 %addon org_fedora_oscap 中内容的示例 部分 scap-security-guide 在安装介质中:

    例 B.1. 使用 SCAP 安全指南的 OpenSCAP 附加组件定义示例

    %addon org_fedora_oscap
    content-type = scap-security-guide
    profile = pci-dss
    %end
  • 以下是从 web 服务器加载自定义配置集的复杂示例:

    例 B.2. 使用 Datastream 的 OpenSCAP 附加组件定义示例

    %addon org_fedora_oscap
    content-type = datastream
    content-url = http://www.example.com/scap/testing_ds.xml
    datastream-id = scap_example.com_datastream_testing
    xccdf-id = scap_example.com_cref_xccdf.xml
    profile =  xccdf_example.com_profile_my_profile
    fingerprint = 240f2f18222faa98856c3b4fc50c4195
    %end

其它资源

B.7. Anaconda 中使用的命令

这个 pwpolicy 命令是一个 Anaconda UI 特定的命令,它只能用于 kickstart 文件的 %anaconda 部分。

B.7.1. pwpolicy

pwpolicy Kickstart 命令是可选的。在安装过程中使用这个命令强制使用自定义密码策略。策略要求您为 root、用户或 luks 用户帐户创建密码。密码长度和强度等因素决定了密码的有效性。

语法

pwpolicy name [--minlen=length] [--minquality=quality] [--strict|--nostrict] [--emptyok|--noempty] [--changesok|--nochanges]

必填选项

  • name - 使用 rootuserluks 替换来强制实施对root 密码、用户密码或 LUKS 密码短语的安全策略。

可选选项

  • --minlen= - 设置允许密码长度的最小值,以字符为单位。默认为 6
  • --minquality= - 设定 libpwquality 库定义的最小允许密码质量。默认值为 1
  • --strict - 启用严格的密码强制。不接受没有满足 --minquality=--minlen= 中指定的要求的密码。默认禁用这个选项。
  • --notstrict - 不满足 --minquality=-minlen= 选项指定的最低质量要求的密码将在之后。 Done GUI 中单击两次.文本模式界面使用类似的机制。
  • --emptyok - 允许使用空密码。对于用户密码,默认启用。
  • --notempty - 不允许使用空密码。对于 root 密码和 LUKS 密码,默认启用。
  • --changesok - 即使 Kickstart 文件已经指定了密码,也允许在用户界面中更改密码。默认禁用此选项。
  • --nochanges - 不允许更改在 Kickstart 文件中已设定的密码。默认启用此选项。

备注

  • pwpolicy 命令是一个 Anaconda-UI 特定的命令,它只能用于 kickstart 文件的 %anaconda 部分。
  • libpwquality 程序库用于检查最低密码要求(长度和服务)。您可以使用由您提供的 pwscorepwmake 命令 libpwquality 软件包,以检查密码的质量得分,或者创建具有给定分数的随机密码。有关这些命令的详情,请查看 pwscore(1) pwmake(1) man page。

B.8. kickstart 命令进行系统恢复

这部分中的 Kickstart 命令修复安装了的系统。

B.8.1. rescue

rescue Kickstart 命令是可选的。它提供有 root 特权的 shell 环境,以及一组系统管理工具修复安装以及排除问题,例如:

  • 以只读方式挂载文件系统
  • blocklist 或添加驱动程序磁盘中提供的驱动程序
  • 安装或升级系统软件包
  • 管理分区
注意

Kickstart 的救援模式与系统的救援模式和紧急模式不同,后者是 systemd 和服务管理器的一部分。

rescue 命令不自行修改该系统。它只能通过在 /mnt/sysimage 下挂载系统的读写模式来设置救援环境。您可以选择不挂载系统,或者将其挂载为只读模式。

语法

rescue [--nomount|--romount]

选项

  • --nomount 或者 --romount - 控制如何将安装的系统挂载到救援环境中。默认情况下,安装程序会找到您的系统并以读写模式挂载它,同时告知它在什么位置进行挂载。您可以选择不挂载任何系统(使用 --nomount 选项),或以只读模式挂载( 使用 --romount 选项)。只能使用这两个选项中的一个。

备注

要运行救援模式,请制作 Kickstart 文件的副本并在其中包含 rescue 命令。

使用该 rescue 命令可让安装程序执行以下步骤:

  1. 运行 %pre 脚本。
  2. 为救援模式设置环境。

    下面的 kickstart 命令生效:

    1. updates
    2. sshpw
    3. logging
    4. lang
    5. network
  3. 设置高级存储环境。

    下面的 kickstart 命令生效:

    1. fcoe
    2. iscsi
    3. iscsiname
    4. nvdimm
    5. zfcp
  4. 挂载系统

    rescue [--nomount|--romount]
  5. 运行 %post 脚本

    只有在安装的系统被挂载为读写模式时才运行这一步。

  6. 启动 shell
  7. 重启系统

附录 C. 分区参考

C.1. 支持的设备类型

标准分区
标准分区可以包含文件系统或者 swap 空间。标准分区最常用于 /boot BIOS Boot 以及 EFI System partitions。多数其他用途,推荐使用 LVM 逻辑卷。
LVM
选择 LVM (或者逻辑卷管理)作为设备类型会创建一个 LVM 逻辑卷。如果目前没有 LVM 卷组,则会自动生成包含新卷的卷组 ; 如果 LVM 卷组已存在,则会分配该卷。LVM 可在使用物理磁盘时提高性能,并允许高级设置,比如在一个挂载点使用多个物理磁盘,并设置软件 RAID 来提高性能、可靠性或两者。
LVM 精简配置
使用精简配置,您可以管理一个空闲空间的存储池,称为精简池,可在应用程序需要时将其分配给任意数量的设备。您可以根据需要动态地扩展池,以便有效分配存储空间。
警告

安装程序不支持超额提供的 LVM 精简池。

C.2. 支持的文件系统

这部分论述了 Red Hat Enterprise Linux 中可用的文件系统。

xfs
XFS 它是一个高度可扩展的高性能文件系统,它最多支持 16 EB(大约一千六百万 TB)的文件系统、8 EB 文件(大约八百万 TB)以及包含千百万条目的目录结构。XFS 也支持元数据日志,它可提高崩溃恢复速度。单个 XFS 文件系统最多支持 500 TB。XFS 是 Red Hat Enterprise Linux 中默认和推荐的文件系统。
ext4
ext4 文件系统基于 ext3 文件系统,并做了很多改进。这包括对更大文件系统和更大文件的支持、更快更有效的磁盘空间分配、一个目录中无限的子目录数、更快速的文件系统检查及更强大的日志能力。单个 ext4 文件系统最多支持 50 TB。
ext3
ext3 文件系统基于 ext2 文件系统,它有一个主要优点 - 日志(journaling)。使用日志记录文件系统可减少在文件系统终止后恢复文件系统所花费的时间,因为不需要每次运行 fsck 程序检查文件系统元数据一致性。
ext2
ext2 文件系统支持标准 Unix 文件类型,包括常规文件、目录或符号链接。它允许分配长文件名,最多 255 个字符。
swap
交换分区是用来支持虚拟内存的。换句话说,当内存不足以贮存系统正在处理的数据时,数据就会被写入 swap 分区。
vfat

VFAT 文件系统是一个 Linux 文件系统,它与 Microsoft Windows 的 FAT 文件系统中的长文件名兼容。

注意

Linux 系统分区不支持 VFAT 文件系统。例如 //var/usr 以此类推。

BIOS 引导
从在 BIOS 系统和 BIOS 兼容模式的 UEFI 系统上使用 GUID 分区表(GPT)引导的设备所需小分区。
EFI 系统分区
UEFI 系统上引导使用 GUID 分区表(GPT)设备所需小分区。
PReP
这个小的引导分区位于硬盘的第一个分区中。PReP boot 分区包含 GRUB2 引导装载程序,它可允许 IBM Power Systems 服务器引导 Red Hat Enterprise Linux。

C.3. 支持的 RAID 类型

RAID 代表独立磁盘冗余阵列,可让您将多个物理磁盘合并为逻辑单元。有些设置的设计思想是以可靠性来换取性能的提高,另一些设备会通过需要更多的磁盘空间来获得高可靠性。

这部分论述了您可以在 LVM 和 LVM Thin Provisioning 中使用的软件 RAID 类型在安装的系统中设置存储。

没有设置 RAID 阵列。
RAID 0
性能: 在多个磁盘间分配数据。RAID 0 提供比标准分区优越的性能,并可用来将多个磁盘的存储池化到一个大的虚拟设备中。请注意,RAID 0 不提供冗余,且阵列中的一个设备失败会破坏整个阵列中的数据。RAID 0 要求至少有两个磁盘。
RAID 1
冗余: 镜像将所有数据从一个分区复制到一个或多个其他磁盘。阵列中的附加设备提供增大的冗余级别。RAID 1 要求至少有两个磁盘。
RAID 4
错误检查: 在多个磁盘间分配数据,并使用阵列中的一个磁盘存储奇偶校验信息,这样可在阵列中的任意磁盘失败时保护阵列。因为所有奇偶校验信息都存储在一个磁盘上,访问这个磁盘会为阵列的性能创建一个"bottleneck"。RAID 4 要求至少有三个磁盘。
RAID 5
分布式错误检查: 在多个磁盘间分配数据和奇偶校验信息。RAID 5 提供在多个磁盘间分布数据的性能优势,但没有 RAID 4 的性能瓶颈,因为也在阵列间发布奇偶校验信息。RAID 5 要求至少有三个磁盘。
RAID 6
冗余错误检查: RAID 6 与 RAID 5 类似。不同之处是会保存两组奇偶校验数据,而不是一组。RAID 6 要求至少有四个磁盘。
RAID 10
性能和冗余: RAID 10 是嵌套的或混合的 RAID。它由在磁盘镜像组件中分布的数据组成。例如:一个由四个 RAID 分区组成的 RAID 10 阵列由两对条状分区组成。RAID 10 要求至少有 四 个磁盘。

C.5. 分区建议

无法为每个系统分区最佳方法; 最理想的设置取决于您计划如何使用要安装的系统。然而,下面的提示可能帮助您找到最合适的布局以满足您的需要:

  • 首先创建具有特定要求的分区,例如,某个分区必须位于特定磁盘中。
  • 考虑加密任何可能包含敏感数据的分区和卷。加密可防止未授权的人访问分区中的数据,即使他们可以访问物理存储设备。在大多数情况下,您应该至少为包含用户数据的 /home 分区进行加密。
  • 在某些情况下,为 //boot/home 以外的目录创建独立挂载点可能很有用。例如,在运行 MySQL 数据库的服务器中,具有一个单独的挂载点 /var/lib/mysql 允许您在重新安装期间保留数据库,而无需之后将其从备份中恢复。但是,使用不必要的挂载点使存储管理更为困难。
  • 一些特殊的限制适用于某些可以放置分区布局的目录。值得注意的是,/boot 目录必须总是位于物理分区(不能在 LVM 卷中)。
  • 如果您不熟悉 Linux,请考虑查看 Linux 文件系统层次结构标准,以了解有关各种系统目录及其内容的信息。
  • 每个安装在您系统的内核都需要大约 56 MB /boot 分区:

    • 32 MB initramfs
    • 14 MB kdump initramfs
    • 3.5 MB 系统映射
    • 6.6 MB vmlinuz

      注意

      对于救援模式 initramfsvmlinuz 需要 80 MB。

      /boot 的默认大小为 1 GB,这可以满足大多数常用用例的需要。但如果您计划保留多个内核发行本或者勘误内核,则建议您增大这个分区的大小。

  • /var 目录保存了大量应用程序的内容,包括 Apache Web 服务器,YUM 软件包管理器使用它临时存储下载的软件包更新。确定包含 /var 的分区或卷至少有 3 GB。
  • /var 目录中的内容通常会经常改变。这可能会导致较旧的固态驱动器(SSD)出现问题,因为它们可以在变得不可用前处理较少的读/写循环。如果系统 root 位于 SSD 上,请考虑在一般的 HDD 中为 /var 创建一个单独的挂载点。
  • /usr 目录包含典型 Red Hat Enterprise Linux 安装中的主要软件。因此,包含这个目录的分区或卷应该至少 5 GB 用于最小安装,使用图形环境的安装需要至少 10 GB。
  • 如果 /usr/var 是独立于剩余 root 卷的分区,引导过程会变得非常复杂,因为这些目录包含了对引导极为重要的组件。在某些情况下,比如这些目录位于 iSCSI 驱动器或 FCoE 位置,系统可能无法引导,或者在关机或重启时挂起并出现 Device is busy 出错信息。

    这个限制只适用于 /usr/var,不适用于它们下的目录。例如: /var/www 的独立分区可以正常工作。

    重要

    有些安全策略需要分离 /usr/var,即使它使管理更加复杂。

  • 考虑在 LVM 卷组中保留一部分空间不分配。如果您的空间要求改变,但您不希望从其他卷中删除数据,这个未分配空间为您提供了灵活性。您还可以为分区选择 LVM Thin Provisioning 设备类型,以便让卷自动处理未使用的空间。
  • XFS 文件系统的大小不能缩小 - 如果您需要使这个文件系统的分区或卷变小,您必须备份数据,销毁文件系统,然后创建一个新的、较小的文件系统。因此,如果您计划稍后更改分区布局,则应使用 ext4 文件系统。
  • 如果您希望在安装完成后通过添加更多硬盘或增加虚拟机硬盘来扩展存储,请使用逻辑卷管理(LVM)。通过使用 LVM,您可以在新驱动器中创建物理卷,然后将其分配给任何您认为适合的卷组和逻辑卷 - 例如,您可以轻松地扩展您的系统 /home (或者其它位于逻辑卷的目录)。
  • 取决于系统的固件、引导驱动器大小以及引导驱动器磁盘标签,可能需要创建 BIOS 引导分区或者 EFI 系统分区。有关这些分区的详情,请参考推荐的分区方案请注意,如果您的系统不需要,则无法在图形安装中创建 BIOS 引导或 EFI 系统分区 - 在这种情况下,会在菜单中隐藏它们。
  • 如果您需要在安装后更改存储配置,Red Hat Enterprise Linux 程序库会提供几个不同的工具来帮助您完成此操作。如果您希望使用命令行工具,请尝试 system-storage-manager