执行高级 RHEL 8 安装

Red Hat Enterprise Linux 8

使用 Kickstart 安装 RHEL

Red Hat Customer Content Services

摘要

您可以使用 Kickstart 执行高级 RHEL 安装。Kickstart 可帮助您使用简单的文本文件自动化安装。

使开源包含更多

红帽承诺替换我们的代码、文档和网页属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。详情请查看 CTO Chris Wright 的信息

对红帽文档提供反馈

我们感谢您对我们文档的反馈。让我们了解如何改进它。

通过 Jira 提交反馈(需要帐户)

  1. 登录到 Jira 网站。
  2. 单击顶部导航栏中的 Create
  3. Summary 字段中输入描述性标题。
  4. Description 字段中输入您对改进的建议。包括文档相关部分的链接。
  5. 点对话框底部的 Create

第 1 章 简介

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

1.1. 支持的构架

Red Hat Enterprise Linux 支持以下构架:

  • AMD 和 Intel 64 位构架
  • 64 位 ARM 架构
  • IBM Power Systems, Little Endian
  • 64 位 IBM Z 架构
注意

有关 IBM Power Servers 的安装说明,请参阅 IBM 安装文档。要确定您的系统支持安装 RHEL ,请参阅 https://catalog.redhat.comhttps://access.redhat.com/articles/rhel-limits

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 的安装
  • 系统或云镜像安装
  • 高级安装

基于 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。这个安装方法支持 Boot ISODVD ISO 镜像文件,但推荐 Boot ISO 镜像文件作为 Boot ISO 镜像文件的 CDN 的默认安装源。注册系统后,安装程序会从 CDN 下载并安装软件包。Kickstart 支持这个安装方法。
  • 使用 VNC 执行远程 RHEL 安装: RHEL 安装程序提供两种虚拟网络计算(VNC)安装模式:Direct 和 Connect。建立连接后,这两种模式没有区别。您选择的模式取决于您的环境。
  • 使用 PXE 从网络安装 RHEL :使用预启动执行环境(PXE)进行网络安装,您可以将 Red Hat Enterprise Linux 安装到可访问安装服务器的系统。网络安装至少需要两个系统。

系统或云镜像安装

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

有关使用镜像构建器安装 RHEL 的更多信息,请参阅 制作自定义的 RHEL 系统镜像

高级安装

您可以从以下高级安装方法中选择:

  • 使用 Kickstart 执行自动的 RHEL 安装:Kickstart 是一个自动化过程,它可以通过在一个文件中指定所有要求和配置来帮助您安装操作系统。Kickstart 文件包含 RHEL 安装选项,例如,时区、驱动器分区或要安装的软件包。提供一个准备好的 Kickstart 文件完成安装,无需用户干预。这在一次在大量系统上部署 Red Hat Enterprise Linux 非常有用。
  • 从 Content Delivery Network 注册并安装并注册 RHEL:通过 Content Delivery Network(CDN)在不同架构中安装 Red Hat Enterprise Linux。注册是在从 CDN 下载并安装软件包前执行的。图形用户界面和 Kickstart 支持这个安装方法。

部分 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 目录中,以帮助调试安装问题。用于安装的 kickstart 以及 Anaconda 生成的输出 kickstart 存储在目标系统的 /root 中,且 kickstart scriptlet 执行的日志存储在 /var/log/anaconda 中。

注意

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

3.2. 自动化安装工作流

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

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

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

注意

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

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

第 4 章 创建 Kickstart 文件

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

  • 使用在线 Kickstart 配置工具。
  • 复制手动安装后创建的 Kickstart 文件。
  • 手动编写整个 Kickstart 文件。
  • 为 Red Hat Enterprise Linux 8 安装转换 Red Hat Enterprise Linux 7 Kickstart 文件。

    有关转换工具的更多信息,请参阅 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 文件,请点击本页顶部的红色 下载 按钮。

    浏览器会保存该文件。

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

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

流程

  1. 安装 RHEL。详情请参阅 执行标准的 RHEL 8 安装

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

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

    重要

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

    • 在终端显示文件内容:

      # cat /root/anaconda-ks.cfg

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

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

4.3. 从以前的 RHEL 安装转换 Kickstart 文件

您可以使用 Kickstart Converter 工具转换 RHEL 7 Kickstart 文件,以用于 RHEL 8 或 9 安装,或者转换 RHEL 8 Kickstart 文件以便在 RHEL 9 中使用。有关该工具以及如何使用它转换 RHEL 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 服务器有管理员级别的访问权限。
  • 要安装的系统可以连接到服务器。
  • 服务器上的防火墙允许来自您要安装的系统的连接。如需更多信息,请参阅 用于基于网络安装的端口

流程

  1. 作为 root 运行以下命令安装 nfs-utils 软件包:

    # 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 服务器有管理员级别的访问权限。
  • 要安装的系统可以连接到服务器。
  • 服务器上的防火墙允许来自您要安装的系统的连接。如需更多信息,请参阅 用于基于网络安装的端口

流程

  1. 要在 HTTP 中存储 Kickstart 文件,请安装 httpd 软件包:

    # yum install httpd

    要将 Kickstart 文件存储在 HTTPS 中,请安装 httpdmod_ssl 软件包:

    # yum install httpd mod_ssl
    警告

    如果您的 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 服务器有管理员级别的访问权限。
  • 要安装的系统可以连接到服务器。
  • 服务器上的防火墙允许来自您要安装的系统的连接。如需更多信息,请参阅 用于基于网络安装的端口

流程

  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_port,例如 1002110031

      在带有各种防火墙/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 文件的路径(相对于 FTP 服务器 root)。例如:如果服务器的主机名是 myserver.example.com,且您已将文件复制到 /var/ftp/my-ks.cfg 中,请指定 ftp://myserver.example.com/my-ks.cfg 作为安装源。

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

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

先决条件

  • 您有一个可移动到要安装的机器上的驱动器,如 USB 盘。
  • 驱动器包含可由安装程序读取的分区。支持的类型有 ext2ext3ext4xfsfat
  • 该驱动器连接到系统,其卷已挂载。

流程

  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 的形式。请注意,该路径相对于文件系统根目录,而不是文件系统层次结构的 / root。使用之前记录的 UUID 替换 volume-UUID
  5. 卸载所有驱动器卷:

    # umount /dev/xyz ...

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

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

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

先决条件

  • 您有一个可移动到要安装的机器上的驱动器,如 USB 盘。
  • 驱动器包含可由安装程序读取的分区。支持的类型有 ext2ext3ext4xfsfat
  • 该驱动器连接到系统,其卷已挂载。

步骤

  1. 列出要复制 Kickstart 文件的卷信息。

    # 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 镜像必须在安装程序可挂载的文件系统的分区中。支持的文件系统有: xfsext2ext3ext4vfat(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 服务器中创建安装源

使用这个安装方法从单一源安装多个系统,而无需连接到物理介质。

先决条件

  • 您对 Red Hat Enterprise Linux 8 服务器有管理员级别的访问权限,且这个服务器与要安装的系统在同一网络中。
  • 您已下载了 Binary DVD 镜像。如需更多信息,请参阅 下载安装 ISO 镜像
  • 您已使用镜像文件创建了可引导 CD、DVD 或者 USB 设备。如需更多信息,请参阅 创建安装介质
  • 确认您的防火墙允许安装的系统访问远程安装源。如需更多信息,请参阅 基于网络的安装的端口

流程

  1. 安装 nfs-utils 软件包:

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

    /exported_directory/ clients
    • 使用到包括 ISO 镜像的目录的完全路径替换 /exported_directory/
    • 使用以下方法之一替换 clients

      • 目标系统的主机名或 IP 地址
      • 所有目标系统可用于访问 ISO 镜像的子网
      • 要允许任何具有可网络访问 NFS 服务器的系统使用 ISO 镜像,请使用星号符号(*)

      有关这一字段的格式的详细信息,请参见 exports(5) 手册页。

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

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

    # systemctl start nfs-server.service

    如果在更改 /etc/exports 文件前服务正在运行,请重新载入 NFS 服务器配置:

    # systemctl reload nfs-server.service

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

注意

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

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

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

先决条件

  • 您对 Red Hat Enterprise Linux 8 服务器有管理员级别的访问权限,且这个服务器与要安装的系统在同一网络中。
  • 您已下载了 Binary DVD 镜像。如需更多信息,请参阅 下载安装 ISO 镜像
  • 您已使用镜像文件创建了可引导 CD、DVD 或者 USB 设备。如需更多信息,请参阅 创建安装介质
  • 确认您的防火墙允许安装的系统访问远程安装源。如需更多信息,请参阅 基于网络的安装的端口
  • httpd 软件包已安装。
  • 如果您使用 https 安装源,则mod_ssl 软件包已安装。
警告

如果您的 Apache Web 服务器配置启用了 SSL 安全性,首选启用 TLSv1.3 协议。默认情况下启用 TLSv1.2,您可以使用 TLSv1 (LEGACY)协议。

重要

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

流程

  1. 将 DVD ISO 镜像复制到 HTTP(S)服务器。
  2. 创建一个用于挂载 DVD ISO 镜像的合适目录,例如:

    # mkdir /mnt/rhel8-install/
  3. 将 DVD ISO 镜像挂载到目录中:

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

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

  4. 将挂载镜像中的文件复制到 HTTP(S)服务器 root 中。

    # 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 服务器的根)。例如,如果您使用了 HTTP,服务器主机名为 myserver.example.com,且已将镜像中的文件复制到 /var/www/html/rhel8-install/,请指定 http://myserver.example.com/rhel8-install/ 作为安装源。

6.5. 使用 FTP 创建安装源

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

先决条件

  • 您对 Red Hat Enterprise Linux 8 服务器有管理员级别的访问权限,且这个服务器与要安装的系统在同一网络中。
  • 您已下载了 Binary DVD 镜像。如需更多信息,请参阅 下载安装 ISO 镜像
  • 您已使用镜像文件创建了可引导 CD、DVD 或者 USB 设备。如需更多信息,请参阅 创建安装介质
  • 确认您的防火墙允许安装的系统访问远程安装源。如需更多信息,请参阅 基于网络的安装的端口
  • vsftpd 软件包已安装。

流程

  1. 在文本编辑器中打开并编辑 /etc/vsftpd/vsftpd.conf 配置文件。

    1. anonymous_enable=NO 行改为 anonymous_enable=YES
    2. write_enable=YES 行改为 write_enable=NO
    3. 添加行 pasv_min_port=<min_port>pasv_max_port=<max_port>。用 FTP 服务器在被动模式下使用的端口范围替换 <min_port> 和 <max_port>,例如 1002110031

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

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

      警告

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

  2. 配置服务器防火墙。

    1. 启用防火墙:

      # systemctl enable firewalld
    2. 启动防火墙:

      # systemctl start firewalld
    3. 配置防火墙以允许上一步中的 FTP 端口和端口范围:

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

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

    4. 重新载入防火墙以应用新规则:

      # firewall-cmd --reload
  3. 将 DVD ISO 镜像复制到 FTP 服务器。
  4. 创建一个用于挂载 DVD ISO 镜像的合适目录,例如:

    # mkdir /mnt/rhel8-install
  5. 将 DVD ISO 镜像挂载到目录中:

    # 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 服务器的根)。例如:如果服务器主机名是 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。指定引导选项和引导提示形式的具体方法取决于系统的架构。详情请查看 RHEL 安装程序的引导选项 指南。

先决条件

  • 您有一个准备好的 Kickstart 文件,位于要安装的系统可访问的位置。

流程

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

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

    有关编辑引导选项的详情请参考编辑引导选项

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

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

注意

如果您已在启用了 UEFI 安全引导的系统中安装了 Red Hat Enterprise Linux Beta 版本,然后将 Beta 公钥添加到系统的 Machine Owner Key (MOK) 列表中。有关 UEFI 安全引导和 Red Hat Enterprise Linux Beta 发行版的更多信息,请参阅 使用 UEFI 安全引导启动 beta 系统

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

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

这个步骤只是一般参考,具体步骤根据您的系统架构有所不同,且不是所有选项都可用于所有架构(例如:您无法在 64 位 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 发行版的更多信息,请参阅 使用 UEFI 安全引导启动 beta 系统

其他资源

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

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

先决条件

流程

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

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

      有关安装源的更多信息,请参阅 用于安装程序配置和流控制的 Kickstart 命令

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

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

注意

如果您已在启用了 UEFI 安全引导的系统中安装了 Red Hat Enterprise Linux Beta 版本,然后将 Beta 公钥添加到系统的 Machine Owner Key (MOK) 列表中。有关 UEFI 安全引导和 Red Hat Enterprise Linux Beta 发行版的更多信息,请参阅 使用 UEFI 安全引导启动 beta 系统

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

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

注意

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

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

注意

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

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

您还可以使用 Ctrl+b nAlt+ TabCtrl+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 命令中的 -v RHEL8 选项确认 RHEL8 类的新命令。

步骤

  • 在 Kickstart 文件中运行 ksvalidator

    $ ksvalidator -v RHEL8 /path/to/kickstart.ks

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

重要

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

其他资源

  • ksvalidator(1) man page

部分 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 脚本。

重要

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

先决条件

  • 系统连接到可以访问 CDN 的网络。
  • 您已创建了一个 Kickstart 文件,并使其对可移动介质、硬盘或者使用 HTTP (S)、FTP 或者 NFS 服务器的网络位置上的安装程序可用。
  • Kickstart 文件位于要安装的系统可访问的位置。
  • 您已创建了用来开始安装并让安装源对安装程序可用的引导介质。
重要
  • 系统注册后的安装源存储库依赖于系统的引导方式。如需更多信息,请参阅 执行标准的 RHEL 8 安装 文档中的 系统注册后安装源存储库 部分。
  • 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)产品,它提供对注册的基于红帽的系统的持续的深度分析,以主动识别跨物理、虚拟和云环境以及容器部署的安全性、性能和稳定性。与使用安装程序 GUI 的手动安装不同,在使用 Kickstart 时,默认情况下不启用到 Red Hat Insights 的连接。

    例如:

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

    设置 HTTP 代理。例如:

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

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

    系统目的(可选)

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

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

    以下示例显示了包含所有 rhsm Kickstart 命令选项的最小 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 --proxy="user:password@hostname:9000"
    reboot
    %packages
    vim
    %end
  3. 保存 Kickstart 文件并启动安装过程。

其他资源

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: X
    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 取消注册您的系统。

先决条件

步骤

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

    # subscription-manager unregister

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

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

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

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

11.1. 概述

在您使用 CD、DVD、USB 闪存驱动器或者使用 PXE 从网络引导系统时,推荐使用图形用户界面安装 RHEL。但是,很多企业级系统(例如 IBM Power Systems 和 64 位 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 命令以直接模式运行 RHEL 安装。可使用选项设置使用连接模式的安装。

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

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

注意

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

先决条件

  • 您已以 root 用户身份在远程系统上安装了 VNC viewer。
  • 您已设置网络引导服务器并在目标系统中引导安装。

步骤

  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。

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

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

注意

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

先决条件

  • 您已以 root 用户身份在远程系统上安装了 VNC viewer。
  • 您已设置了一个网络引导服务器来在目标系统中启动安装。
  • 您已将目标系统配置为使用 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 about 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。

部分 IV. 高级配置选项

第 12 章 配置系统目的

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

优点包括:

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

12.1. 概述

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

  • 创建镜像期间
  • 在 GUI 安装过程中,使用 Connect to Red Hat 屏幕注册您的系统,并附加您的红帽订阅
  • 在使用 syspurpose 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 节点
SLA

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

syspurpose --sla=

分配的 sla 可以是:

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

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

syspurpose --usage=

分配的使用量可以是:

  • Production
  • Development/Test
  • Disaster Recovery
addon

任何额外的层次产品或功能。要添加多个项,重复使用 --addon 指定,每次一个分层产品/功能。这个操作使用以下格式:

syspurpose --addon=

12.3. 其他资源

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

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

注意

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

先决条件

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

13.1. 概述

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

警告

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

13.2. 驱动程序更新的类型

红帽、您的硬件零售商或可信第三方以 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= 选项初始化网络。

限制

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

13.3. 准备驱动程序更新

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

先决条件

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

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

流程

  1. 将驱动程序更新 CD 或者 DVD 插入系统的 CD/DVD 驱动器中,并使用系统的文件管理器工具浏览。
  2. 验证单个文件 rhdd3 是否可用。rhdd3 是一个签名文件,其中包含驱动程序说明以及名为 rpms 的目录,其中包含各种架构的实际驱动程序的 RPM 软件包。

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

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

先决条件

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

步骤

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

13.5. 执行驱动程序更新

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

先决条件

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

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

步骤

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

    注意

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

  5. 选择所需驱动程序。

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

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

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

先决条件

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

流程

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

其他资源

13.7. 禁用驱动程序

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

先决条件

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

流程

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

    modprobe.blacklist=ahci

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

  4. Enter 执行引导过程。

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

作为本地网络上服务器的管理员,您可以配置 HTTP 服务器,以便为网络中的其他系统启用 HTTP 引导和网络安装。

14.1. 网络安装概述

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

服务器
运行 DHCP 服务器、HTTP、HTTPS、FTP 或 NFS 的服务器以及 PXE 引导情况下的TFTP 服务器。虽然每个服务器可以运行在不同的物理系统上,但本节中的流程假设单个系统正在运行所有服务器。
客户端
要安装 Red Hat Enterprise Linux 的系统。安装开始后,客户端会查询 DHCP 服务器,从 HTTP 或 TFTP 服务器接收引导文件,并从 HTTP、HTTPS、FTP 或者 NFS 服务器下载安装镜像。与其它安装方法不同,客户端不需要任何物理引导介质来启动安装。
注意

要从网络引导客户端,请在固件中或客户端上的快速引导菜单中启用网络引导。在某些硬件中,从网络引导的选项可能会被禁用,或者不可用。

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

步骤

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

您可以在以下网络引导协议之间进行选择:

HTTP
如果您的客户端 UEFI 支持,红帽建议使用 HTTP 引导。HTTP 引导通常更加可靠。
PXE (TFTP)
客户端系统更广泛地支持 PXE 引导,但通过此协议发送引导文件可能会很慢,并导致超时失败。

14.2. 为 HTTP 和 PXE 引导配置 DHCPv4 服务器

在您的服务器上启用 DHCP 版本 4 (DHCPv4)服务,以便它可以提供网络引导功能。

先决条件

  • 您通过 IPv4 协议准备网络安装。

    对于 IPv6 ,请参阅为 HTTP 和 PXE 引导配置 DHCPv6 服务器

  • 查找服务器的网络地址。

    在以下示例中,服务器有一个具有此配置的网卡:

    IPv4 地址
    192.168.124.2/24
    IPv4 网关
    192.168.124.1

流程

  1. 安装 DHCP 服务器:

    yum install dhcp-server
  2. 设置 DHCPv4 服务器。在 /etc/dhcp/dhcpd.conf 文件中输入以下配置。替换地址以匹配您的网卡。

    option architecture-type code 93 = unsigned integer 16;
    
    subnet 192.168.124.0 netmask 255.255.255.0 {
      option routers 192.168.124.1;
      option domain-name-servers 192.168.124.1;
      range 192.168.124.100 192.168.124.200;
      class "pxeclients" {
        match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
        next-server 192.168.124.2;
              if option architecture-type = 00:07 {
                filename "redhat/EFI/BOOT/BOOTX64.EFI";
              }
              else {
                filename "pxelinux/pxelinux.0";
              }
      }
      class "httpclients" {
        match if substring (option vendor-class-identifier, 0, 10) = "HTTPClient";
        option vendor-class-identifier "HTTPClient";
        filename "http://192.168.124.2/redhat/EFI/BOOT/BOOTX64.EFI";
      }
    }
  3. 启动 DHCPv4 服务:

    # systemctl enable --now dhcpd

14.3. 为 HTTP 和 PXE 引导配置 DHCPv6 服务器

在您的服务器上启用 DHCP 版本 6 (DHCPv4)服务,以便它可以提供网络引导功能。

先决条件

  • 您通过 IPv6 协议准备网络安装。

    对于 IPv4,请参阅为 HTTP 和 PXE 引导配置 DHCPv4 服务器

  • 查找服务器的网络地址。

    在以下示例中,服务器有一个具有此配置的网卡:

    IPv6 地址
    fd33:eb1b:9b36::2/64
    IPv6 网关
    fd33:eb1b:9b36::1

步骤

  1. 安装 DHCP 服务器:

    yum install dhcp-server
  2. 设置 DHCPv6 服务器。在 /etc/dhcp/dhcpd6.conf 文件中输入以下配置。替换地址以匹配您的网卡。

    option dhcp6.bootfile-url code 59 = string;
    option dhcp6.vendor-class code 16 = {integer 32, integer 16, string};
    
    subnet6 fd33:eb1b:9b36::/64 {
            range6 fd33:eb1b:9b36::64 fd33:eb1b:9b36::c8;
    
            class "PXEClient" {
                    match substring (option dhcp6.vendor-class, 6, 9);
            }
    
            subclass "PXEClient" "PXEClient" {
                    option dhcp6.bootfile-url "tftp://[fd33:eb1b:9b36::2]/redhat/EFI/BOOT/BOOTX64.EFI";
            }
    
            class "HTTPClient" {
                    match substring (option dhcp6.vendor-class, 6, 10);
            }
    
            subclass "HTTPClient" "HTTPClient" {
                    option dhcp6.bootfile-url "http://[fd33:eb1b:9b36::2]/redhat/EFI/BOOT/BOOTX64.EFI";
                    option dhcp6.vendor-class 0 10 "HTTPClient";
            }
    }
  3. 启动 DHCPv6 服务:

    # systemctl enable --now dhcpd6
  4. 如果 DHCPv6 数据包被防火墙中的 RP 过滤器丢弃了,请检查其日志。如果日志包含 rpfilter_DROP 条目,请使用 /etc/firewalld/firewalld.conf 文件中的以下配置禁用过滤器:

    IPv6_rpfilter=no

14.4. 为 HTTP 引导配置 HTTP 服务器

您必须在服务器上安装并启用 httpd 服务,以便服务器可以在网络上提供 HTTP 引导资源。

先决条件

  • 查找服务器的网络地址。

    在以下示例中,服务器有一个 IPv4 地址为 192.168.124.2 的网卡。

步骤

  1. 安装 HTTP 服务器:

    # yum install httpd
  2. 创建 /var/www/html/redhat/ 目录:

    # mkdir -p /var/www/html/redhat/
  3. 下载 RHEL DVD ISO 文件。请参阅 所有 Red Hat Enterprise Linux 下载
  4. 为 ISO 文件创建一个挂载点:

    # mkdir -p /var/www/html/redhat/iso/
  5. 挂载 ISO 文件:

    # mount -o loop,ro -t iso9660 path-to-RHEL-DVD.iso /var/www/html/redhat/iso
  6. 将引导装载程序、内核和 initramfs 从挂载的 ISO 文件复制到 HTML 目录中:

    # cp -r /var/www/html/redhat/iso/images /var/www/html/redhat/
    # cp -r /var/www/html/redhat/iso/EFI /var/www/html/redhat/
  7. 使引导装载程序配置可编辑:

    # chmod 644 /var/www/html/redhat/EFI/BOOT/grub.cfg
  8. 编辑 /var/www/html/redhat/EFI/BOOT/grub.cfg 文件,并将其内容替换为以下内容:

    set default="1"
    
    function load_video {
      insmod efi_gop
      insmod efi_uga
      insmod video_bochs
      insmod video_cirrus
      insmod all_video
    }
    
    load_video
    set gfxpayload=keep
    insmod gzio
    insmod part_gpt
    insmod ext2
    
    set timeout=60
    # END /etc/grub.d/00_header #
    
    search --no-floppy --set=root -l 'RHEL-9-3-0-BaseOS-x86_64'
    
    # BEGIN /etc/grub.d/10_linux #
    menuentry 'Install Red Hat Enterprise Linux 9.3' --class fedora --class gnu-linux --class gnu --class os {
        linuxefi ../../images/pxeboot/vmlinuz inst.repo=http://192.168.124.2/redhat/iso quiet
        initrdefi ../../images/pxeboot/initrd.img
    }
    menuentry 'Test this media & install Red Hat Enterprise Linux 9.3' --class fedora --class gnu-linux --class gnu --class os {
        linuxefi ../../images/pxeboot/vmlinuz inst.repo=http://192.168.124.2/redhat/iso quiet
        initrdefi ../../images/pxeboot/initrd.img
    }
    submenu 'Troubleshooting -->' {
        menuentry 'Install Red Hat Enterprise Linux 9.3 in text mode' --class fedora --class gnu-linux --class gnu --class os {
       	 linuxefi ../../images/pxeboot/vmlinuz inst.repo=http://192.168.124.2/redhat/iso inst.text quiet
       	 initrdefi ../../images/pxeboot/initrd.img
        }
        menuentry 'Rescue a Red Hat Enterprise Linux system' --class fedora --class gnu-linux --class gnu --class os {
       	 linuxefi ../../images/pxeboot/vmlinuz inst.repo=http://192.168.124.2/redhat/iso inst.rescue quiet
       	 initrdefi ../../images/pxeboot/initrd.img
        }
    }

    在这个文件中,替换以下字符串:

    rhel-9-3-0-BaseOS-x86_64Red Hat Enterprise Linux 9.3
    编辑版本号,以使其与您下载的 RHEL 版本匹配。
    192.168.124.2
    使用服务器的 IP 地址替换。
  9. 使 EFI 引导文件可执行:

    # chmod 755 /var/www/html/redhat/EFI/BOOT/BOOTX64.EFI
  10. 在防火墙中打开端口,以允许 HTTP (80)、DHCP (67, 68)和 DHCPv6 (546, 547)流量:

    # firewall-cmd --zone public \
                   --add-port={80/tcp,67/udp,68/udp,546/udp,547/udp}
    注意

    这个命令启用了临时访问,直到下次服务器重启为止。若要启用永久访问权限,可在 命令中添加 --permanent 选项。

  11. 重新载入防火墙规则:

    # firewall-cmd --reload
  12. 启动 HTTP 服务器:

    # systemctl enable --now httpd
  13. 创建 html 目录,并使其内容可读和可执行:

    # chmod -cR u=rwX,g=rX,o=rX /var/www/html
  14. 恢复 html 目录的 SELinux 上下文:

    # restorecon -FvvR /var/www/html

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

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

15.1. 网络安装概述

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

服务器
运行 DHCP 服务器、HTTP、HTTPS、FTP 或 NFS 的服务器以及 PXE 引导情况下的TFTP 服务器。虽然每个服务器可以运行在不同的物理系统上,但本节中的流程假设单个系统正在运行所有服务器。
客户端
要安装 Red Hat Enterprise Linux 的系统。安装开始后,客户端会查询 DHCP 服务器,从 HTTP 或 TFTP 服务器接收引导文件,并从 HTTP、HTTPS、FTP 或者 NFS 服务器下载安装镜像。与其它安装方法不同,客户端不需要任何物理引导介质来启动安装。
注意

要从网络引导客户端,请在固件中或客户端上的快速引导菜单中启用网络引导。在某些硬件中,从网络引导的选项可能会被禁用,或者不可用。

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

步骤

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

您可以在以下网络引导协议之间进行选择:

HTTP
如果您的客户端 UEFI 支持,红帽建议使用 HTTP 引导。HTTP 引导通常更加可靠。
PXE (TFTP)
客户端系统更广泛地支持 PXE 引导,但通过此协议发送引导文件可能会很慢,并导致超时失败。

15.2. 为 HTTP 和 PXE 引导配置 DHCPv4 服务器

在您的服务器上启用 DHCP 版本 4 (DHCPv4)服务,以便它可以提供网络引导功能。

先决条件

  • 您通过 IPv4 协议准备网络安装。

    对于 IPv6 ,请参阅 为 HTTP 和 PXE 引导配置 DHCPv6 服务器

  • 查找服务器的网络地址。

    在以下示例中,服务器有一个具有此配置的网卡:

    IPv4 地址
    192.168.124.2/24
    IPv4 网关
    192.168.124.1

流程

  1. 安装 DHCP 服务器:

    yum install dhcp-server
  2. 设置 DHCPv4 服务器。在 /etc/dhcp/dhcpd.conf 文件中输入以下配置。替换地址以匹配您的网卡。

    option architecture-type code 93 = unsigned integer 16;
    
    subnet 192.168.124.0 netmask 255.255.255.0 {
      option routers 192.168.124.1;
      option domain-name-servers 192.168.124.1;
      range 192.168.124.100 192.168.124.200;
      class "pxeclients" {
        match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
        next-server 192.168.124.2;
              if option architecture-type = 00:07 {
                filename "redhat/EFI/BOOT/BOOTX64.EFI";
              }
              else {
                filename "pxelinux/pxelinux.0";
              }
      }
      class "httpclients" {
        match if substring (option vendor-class-identifier, 0, 10) = "HTTPClient";
        option vendor-class-identifier "HTTPClient";
        filename "http://192.168.124.2/redhat/EFI/BOOT/BOOTX64.EFI";
      }
    }
  3. 启动 DHCPv4 服务:

    # systemctl enable --now dhcpd

15.3. 为 HTTP 和 PXE 引导配置 DHCPv6 服务器

在您的服务器上启用 DHCP 版本 6 (DHCPv4)服务,以便它可以提供网络引导功能。

先决条件

  • 您通过 IPv6 协议准备网络安装。

    对于 IPv4,请参阅 为 HTTP 和 PXE 引导配置 DHCPv4 服务器

  • 查找服务器的网络地址。

    在以下示例中,服务器有一个具有此配置的网卡:

    IPv6 地址
    fd33:eb1b:9b36::2/64
    IPv6 网关
    fd33:eb1b:9b36::1

流程

  1. 安装 DHCP 服务器:

    yum install dhcp-server
  2. 设置 DHCPv6 服务器。在 /etc/dhcp/dhcpd6.conf 文件中输入以下配置。替换地址以匹配您的网卡。

    option dhcp6.bootfile-url code 59 = string;
    option dhcp6.vendor-class code 16 = {integer 32, integer 16, string};
    
    subnet6 fd33:eb1b:9b36::/64 {
            range6 fd33:eb1b:9b36::64 fd33:eb1b:9b36::c8;
    
            class "PXEClient" {
                    match substring (option dhcp6.vendor-class, 6, 9);
            }
    
            subclass "PXEClient" "PXEClient" {
                    option dhcp6.bootfile-url "tftp://[fd33:eb1b:9b36::2]/redhat/EFI/BOOT/BOOTX64.EFI";
            }
    
            class "HTTPClient" {
                    match substring (option dhcp6.vendor-class, 6, 10);
            }
    
            subclass "HTTPClient" "HTTPClient" {
                    option dhcp6.bootfile-url "http://[fd33:eb1b:9b36::2]/redhat/EFI/BOOT/BOOTX64.EFI";
                    option dhcp6.vendor-class 0 10 "HTTPClient";
            }
    }
  3. 启动 DHCPv6 服务:

    # systemctl enable --now dhcpd6
  4. 如果 DHCPv6 数据包被防火墙中的 RP 过滤器丢弃了,请检查其日志。如果日志包含 rpfilter_DROP 条目,请使用 /etc/firewalld/firewalld.conf 文件中的以下配置禁用过滤器:

    IPv6_rpfilter=no

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

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

重要

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

流程

  1. 以 root 用户身份,安装以下软件包:

    # yum install tftp-server
  2. 允许到防火墙中的 tftp 服务的传入连接:

    # firewall-cmd --add-service=tftp
    注意
    • 这个命令启用了临时访问,直到下次服务器重启为止。若要启用永久访问权限,可在 命令中添加 --permanent 选项。
    • 根据安装 ISO 文件的位置,您可能需要允许 HTTP 或者其他服务的进入连接。
  3. 从 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
  4. 解压软件包:

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

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

    # mkdir /var/lib/tftpboot/pxelinux/pxelinux.cfg
  7. 创建名为 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/vmlinuz
      append initrd=images/RHEL-8/initrd.img ip=dhcp inst.repo=http://192.168.124.2/RHEL-8/x86_64/iso-contents-root/
    label vesa
      menu label Install system with ^basic video driver
      kernel images/RHEL-8/vmlinuz
      append initrd=images/RHEL-8/initrd.img ip=dhcp inst.xdriver=vesa nomodeset inst.repo=http://192.168.124.2/RHEL-8/x86_64/iso-contents-root/
    label rescue
      menu label ^Rescue installed system
      kernel images/RHEL-8/vmlinuz
      append initrd=images/RHEL-8/initrd.img inst.rescue
      inst.repo=http:///192.168.124.2/RHEL-8/x86_64/iso-contents-root/
    label local
      menu label Boot from ^local drive
      localboot 0xffff
    注意
    • 安装程序在没有运行时镜像的情况下无法引导。使用 inst.stage2 引导选项指定镜像的位置。另外,您可以使用 inst.repo= 选项指定镜像和安装源。
    • inst.repo 一起使用的安装源位置必须包含有效的 .treeinfo 文件。
    • 当您选择 RHEL8 安装 DVD 作为安装源时,.treeinfo 文件会指向 BaseOS 和 AppStream 软件仓库。您可以使用单个 inst.repo 选项来加载这两个软件仓库。
  8. 创建一个子目录,以将引导镜像文件存储在 /var/lib/tftpboot/ 目录中,并将引导镜像文件复制到 目录。在本例中,目录为 /var/lib/tftpboot/pxelinux/images/RHEL-8/

    # mkdir -p /var/lib/tftpboot/pxelinux/images/RHEL-8/
    # cp /path_to_x86_64_images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/pxelinux/images/RHEL-8/
  9. 启动并启用 tftp.socket 服务:

    # systemctl enable --now tftp.socket

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

15.5. 为基于 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 用户身份,安装以下软件包:

    # yum install tftp-server
  2. 允许到防火墙中的 tftp 服务的传入连接:

    # firewall-cmd --add-service=tftp
    注意
    • 这个命令启用了临时访问,直到下次服务器重启为止。若要启用永久访问权限,可在 命令中添加 --permanent 选项。
    • 根据安装 ISO 文件的位置,您可能需要允许 HTTP 或者其他服务的进入连接。
  3. 访问 DVD ISO 镜像中的 EFI 引导镜像文件:

    # mount -t iso9660 /path_to_image/name_of_image.iso /mount_point -o loop,ro
  4. 复制 DVD ISO 镜像中的 EFI 引导镜像:

    # mkdir /var/lib/tftpboot/redhat
    # cp -r /mount_point/EFI /var/lib/tftpboot/redhat/
    # umount /mount_point
  5. 修复复制的文件的权限:

    # chmod -R 755 /var/lib/tftpboot/redhat/
  6. 使用以下示例替换 /var/lib/tftpboot/redhat/EFI/BOOT/grub.cfg 的内容:

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

    # mkdir -p /var/lib/tftpboot/images/RHEL-8/
    # cp /path_to_x86_64_images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/images/RHEL-8/
  8. 启动并启用 tftp.socket 服务:

    # systemctl enable --now tftp.socket

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

其他资源

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

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

重要

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

流程

  1. 以 root 用户身份,安装以下软件包:

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

    # 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 机器上运行,则必须在 tftp root 中创建 GRUB 2 网络引导目录前安装 grub2-ppc64-modules

      # 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://192.168.124.2/RHEL-8/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. 调整示例参数 subnetnetmaskroutersfixed-addresshardware ethernet 以适合您的网络配置。记录 file name 参数 ; 这是 grub2-mknetdir 命令在此流程前面输出的文件名。
  9. 在 DHCP 服务器上,启动并启用 dhcpd 服务。如果您已在 localhost 上配置了 DHCP 服务器,请在 localhost 上启动并启用 dhcpd 服务。

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

    # systemctl enable --now tftp.socket

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

第 16 章 创建远程仓库

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

先决条件

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

16.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 {ProductNumber} > /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>

16.2. 创建远程仓库

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

先决条件

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

流程

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

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

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

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

    vi /etc/yum.repos.d/rhel_http_repo.repo
    
    [BaseOS_repo_http]
    name=RHEL_8_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_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_x86_64_HTTP AppStream                                                   4,672
    BaseOS_repo_http                                                     RHEL_8_x86_64_HTTP BaseOS                                                      1,658
    [root@localhost ~]#

第 17 章 引导选项

这部分描述了包含的可以用来修改安装程序默认行为的引导选项。有关引导选项的完整列表,请查看 上游引导选项 内容。

17.1. 引导选项类型

这两种引导选项是那些带有等号 "="符号 和没有 "=" 符号的引导选项。引导选项被追加到引导命令行中,您可以追加多个由空格分隔的选项。安装程序专用的引导选项总是以 inst 开始。

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

17.2. 编辑引导选项

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

17.2.1. 编辑 BIOS 中的 boot: 提示符

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

先决条件

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

流程

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

boot: 提示符也接受 dracut 内核选项。有关选项的列表,请参见 dracut.cmdline(7) 手册页。

17.2.2. 使用 > 提示符编辑预定义的引导选项

在基于 BIOS 的 AMD64 和 Intel 64 系统中,您可以使用 > 提示符编辑预定义的引导选项。要显示选项的完整集合,请从引导菜单中选择 Test this media and install RHEL 8

先决条件

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

流程

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

17.2.3. 编辑基于 UEFI 的系统的 GRUB2 菜单

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

先决条件

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

流程

  1. 从引导菜单窗口中选择所需选项并按 e
  2. 在 UEFI 系统中,内核命令行以 linuxefi 开头。把光标移到 linuxefi 内核命令行的末尾。
  3. 根据需要编辑参数。例如: 要配置一个或多个网络接口,请在 linuxefi 内核命令行末尾添加 ip= 参数,后接所需的值。
  4. 完成编辑后,按 Ctrl+X 来使用指定的选项开始安装。

17.3. 安装源引导选项

这部分描述了各种安装源引导选项。

inst.repo=

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

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

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

    表 17.1. inst.repo= 引导选项的类型和格式,以及安装源

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

    CD/DVD 驱动器

    inst.repo=cdrom:<device>

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

    可挂载设备(HDD 和 USB 盘)

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

    安装 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 添加到 options 中,将 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 是该程序库的名称,它是安装过程中必需的。这些软件仓库仅在安装过程中使用,它们不会在安装的系统中安装。

有关统一的 ISO 的更多信息,请参阅 统一的 ISO。

表 17.2. 安装源和引导选项格式

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

在 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 选项指定的位置。

当您想稍后在安装程序中手动指定安装源时,请使用这个选项。例如,当您想选择内容交付网络(CDN)作为安装源时。安装 DVD 和 Boot ISO 已经包含一个合适的 inst.stage2 选项来从相应的 ISO 引导安装程序。

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

注意

默认情况下,在安装介质中使用 inst.stage2= 引导选项,并被设置特定的标签 ; 例如:inst.stage2=hd:LABEL=RHEL-x-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 8 安装 文档。
inst.repo=hmc
这个选项消除了外部网络设置的要求并扩展安装选项。当使用二进制 DVD 引导时,安装程序会提示您输入附加内核参数。要将 DVD 设置为安装源,请在内核参数中附加 inst.repo=hmc 选项。然后安装程序启用支持元素(SE)和硬件管理控制台(HMC)文件访问,从 DVD 中获取 stage2 的镜像,并提供对 DVD 上软件包的访问以供软件选择。
inst.proxy=

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

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

使用 inst.nosave= 引导选项来控制安装日志以及没有保存到安装系统的相关文件,如 input_ksoutput_ksall_kslogsall。您可以组合以逗号分隔的多个值。例如,

inst.nosave=Input_ks,logs
注意

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

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 完成安装。在低于推荐最小内存量的系统中进行安装不被支持,并可能导致安装过程失败。

17.4. 网络引导选项

如果您的场景需要通过网络从镜像引导,而不是从本地镜像引导,您可以使用以下选项来自定义网络引导。

注意

使用 dracut 工具初始化网络。有关 dracut 选项的完整列表,请查看 dracut.cmdline(7) 手册页。

ip=

使用 ip= 引导选项配置一个或多个网络接口。要配置多个接口,请使用以下方法之一;

  • 多次使用 ip 选项,每个接口一次; 使用 rd.neednet=1 选项,然后使用 bootdev 选项指定主引导接口。
  • 使用 ip 选项一次,然后使用 Kickstart 设置其他接口。这个选项接受几种不同的格式。下表包含大多数常用选项的信息。

在以下表格中:

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

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

    引导选项格式配置方法

    ip=method

    自动配置任意接口

    ip=interface:method

    自动配置特定的接口

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

    静态配置,例如, IPv4:ip=192.0.2.1::192.0.2.254:255.255.255.0:server.example.com:enp1s0:none

    IPv6: ip=[2001:db8::1]::[2001:db8::fffe]:64:server.example.com:enp1s0:none

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

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

    自动接口的配置方法

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

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

    DHCP
    dhcp
    IPv6 DHCP
    dhcp6
    IPv6 自动配置
    auto6
    iSCSI Boot Firmware Table (iBFT)
    ibft
    注意
    • 如果您使用需要网络访问的引导选项,如 inst.ks=http://host/path,但没有指定 ip 选项,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 参数中给出的值指定在超时和继续安装过程(即使网络连接不存在)前等待网络连接的最长时间。
    vlan=

    使用 vlan= 选项来在具有给定名称的指定接口上配置虚拟 LAN(VLAN)设备。语法为 vlan=name:interface。例如:

    vlan=vlan5:enp0s1

    这会在 enp0s1 接口上配置一个名为 vlan5 的 VLAN 设备。名称可采用以下格式:

  • VLAN_PLUS_VID: vlan0005
  • VLAN_PLUS_VID_NO_PAD: vlan5
  • DEV_PLUS_VID: enp0s1.0005
  • DEV_PLUS_VID_NO_PAD: enp0s1.5

    bond=

    使用 bond= 选项来配置绑定设备,语法如下: bond=name[:interfaces][:options]。使用绑定设备名称替换 name,使用以逗号分隔的物理(以太网)接口列表替换 interfaces,并使用以逗号分隔的绑定选项列表替换 options。例如:

    bond=bond0:enp0s1,enp0s2:mode=active-backup,tx_queues=32,downdelay=5000

    有关可用选项的列表,请执行 modinfo 绑定命令。

    team=

    使用 team= 选项来配置团队设备,语法如下: team=name:interfaces。使用所需团队设备替换 name,使用要用作团队设备中底层接口的、以逗号分隔的物理(以太网)设备列表替换 interfaces。例如:

    team=team0:enp0s1,enp0s2
    bridge=

    使用 bridge= 选项来配置网桥设备,语法如下:bridge=name:interfaces。使用所需的网桥设备名称替换 name,使用要用作网桥设备中底层接口的、以逗号分隔的物理(以太网)设备列表替换 interfaces。例如:

    bridge=bridge0:enp0s1,enp0s2

其他资源

17.5. 控制台引导选项

这部分描述了如何为控制台、显示器和键盘配置引导选项。

console=
使用 console= 选项指定您要用作主控制台的设备。例如,若要使用第一个串行端口上的控制台,请使用 console=ttyS0。在使用 console= 参数时,安装从文本 UI 开始。如果必须多次使用 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=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.nointeractive 选项。当您在文本模式中使用 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/ 目录中找到 列入黑名单的驱动程序的列表。使用以逗号分隔的列表禁用多个驱动程序。例如:

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

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

注意

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

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

17.6. 调试引导选项

本节描述了在调试问题时可以使用的选项。

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

使用 inst.updates= 选项指定您要在安装过程中应用的 updates.img 文件的位置。updates.img 文件可以从多个源中派生出来。

表 17.4. updates.img 文件源

描述示例

从网络更新

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

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

从磁盘镜像更新

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

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

安装树中的更新

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

对于 NFS 安装,将文件保存在 images/ 目录中,或保存在 RHupdates/ 目录中。

inst.loglevel=

使用 inst.loglevel= 选项指定终端日志信息的最低级别。这个选项只适用于终端日志记录 ; 日志文件始终包含所有级别的信息。这个选项从最低到最高级的可能的值是:

  • debug
  • info
  • warning
  • 错误
  • critical

默认值为 info,就是说默认情况下,日志记录终端会显示从 info 级别到 critical 级别范围的信息。

inst.syslog=
安装启动时,将日志消息发送到指定主机上的 syslog 进程。只有在远程 syslog 进程配置为接受进来的连接时,踩可以使用 inst.syslog=
inst.virtiolog=
使用 inst.virtiolog= 选项指定哪个 virtio 端口(一个位于 /dev/virtio-ports/name 的字符设备)用于转发日志。默认值为 org.fedoraproject.anaconda.log.0
inst.zram=

控制在安装过程中 zRAM swap 的使用。选项在系统 RAM 中创建压缩的块设备,并将其用于交换空间,而不使用该磁盘。这个设置可让安装程序以较少的内存运行,并改进安装速度。您可以使用以下值配置 inst.zram= 选项:

  • inst.zram=1 启用 zRAM swap,无论系统内存大小如何。默认情况下,在内存为 2 GiB 或更少的系统上启用 zRAM 上的 swap。
  • inst.zram=0 禁用 zRAM swap,无论系统内存大小如何。默认情况下,在超过 2 GiB 内存的系统上禁用 zRAM 上的 swap。
rd.live.ram
images/install.img 中的 stage 2 镜像复制到 RAM 中。请注意,这会增加安装所需的内存,按镜像大小通常增加 400 到 800MB。
inst.nokill
防止安装程序在发生致命错误或安装过程结束时重新启动。使用它捕获安装日志,该日志会在重启后丢失。
inst.noshell
在安装过程中防止终端会话 2(tty2)上的 shell。
inst.notmux
防止在安装过程中使用 tmux。输出在没有终端控制字符的情况下生成,用于非互动性。
inst.remotelog=
使用 TCP 连接将所有日志发送到远程 host:port。如果没有监听程序而安装正常进行,则该连接将会停用。

17.7. 存储启动选项

这部分描述了您可以指定用于从存储设备定制引导的选项。

inst.nodmraid
禁用 dmraid 支持。
警告

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

inst.nompath
禁用对多路径设备的支持。仅当系统出现误报,即将正常块设备错误地标识为多路径设备时,才使用此选项。
警告

请小心使用这个选项。不要将此选项与多路径硬件一起使用。不支持使用此选项安装到多路径设备的单个路径。

inst.gpt
强制安装程序将分区信息安装到 GUID 分区表(GPT)而不是主引导记录(MBR)。这个选项在基于 UEFI 的系统上无效,除非采用与 BIOS 兼容的模式。通常,基于 BIOS 的系统和基于 UEFI 的系统在兼容模式下尝试使用 MBR 模式来存储分区信息,除非磁盘大小为 2^32 个扇区或大于 2 个扇区。磁盘扇区大小通常是 512 字节,通常相当于 2 TiB。inst.gpt 引导选项允许将 GPT 写入较小的磁盘。
inst.wait_for_disks=
使用 inst.wait_for_disks= 选项指定安装程序在安装开始时等待磁盘设备出现的秒数。当您使用 OEMDRV-labeled 设备自动加载 Kickstart 文件或内核驱动程序时使用这个选项,但设备在引导过程中需要很长时间才会出现。默认情况下,安装程序等待 5 秒。使用 0 秒来最小化延迟。

17.8. Kickstart 引导选项

这部分描述了您可以在 Kickstart 文件中添加的引导选项以进行自动安装。

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 将被附加。下表包含示例。

表 17.5. 默认 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.all 选项以便按顺序尝试由多个 inst.ks 选项提供的多个 Kickstart 文件位置。使用第一个成功位置。这只适用于 httphttpsftp 类型的位置,其他位置将被忽略。
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

17.9. 高级安装引导选项

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

inst.kexec

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

重要

这个选项已弃用,仅作为技术预览使用。有关红帽对技术预览功能支持范围的详情,请查看 技术预览功能支持范围 文档。

当使用 kexec 时,通常会在系统完全重启后清除的设备注册器可能还有数据。这可能会对某些设备驱动程序造成问题。

inst.multilib

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

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

selinux=0

在安装程序和安装的系统中禁用 SELinux。默认情况下,SELinux 在安装程序中以 permissive 模式运行,并在安装的系统中以 enforcing 模式运行。

注意

inst.selinux=0 和 selinux=0 选项不同:* inst.selinux=0: 仅在安装程序中禁用 SELinux。* SELinux=0:在安装程序和安装的系统中禁用 SELinux。禁用 SELinux 会导致不会记录事件。

inst.nonibftiscsiboot
将引导装载程序放在没有在 iSCSI Boot Firmware Table(iBFT)中配置的 iSCSI 设备中。

17.10. 弃用的引导选项

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

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

表 17.6. ksdevice 引导选项的值

Value信息

不存在

不适用

ksdevice=link

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

ksdevice=bootif

如果存在 BOOTIF=,则默认忽略此选项。

ksdevice=ibft

替换为 ip=ibft。详情请查看 ip

ksdevice=<MAC>

使用 BOOTIF=${MAC/:/-}替代

ksdevice=<DEV>

bootdev替换

17.11. 删除引导选项

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

注意

dracut 提供高级引导选项。有关 dracut 的更多信息,请参阅 dracut.cmdline(7) 手册页。

askmethod, asknetwork
initramfs 是完全非互动的,因此删除了 askmethodasknetwork 选项。使用 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
这个选项不再需要,因为安装程序不再处理升级。

第 18 章 引导带有 UEFI 安全引导的 beta 系统

要增强操作系统的安全性,在启用了 UEFI 安全引导的系统上引导 Red Hat Enterprise Linux Beta 版本时,对签名验证使用 UEFI 安全引导特性。

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

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

对于Red Hat Enterprise Linux Beta 版,内核使用特定于红帽 Beta 的私钥进行签名。UEFI 安全引导尝试使用对应的公钥验证签名,但由于硬件无法识别 Beta 私钥,因此 Red Hat Enterprise Linux Beta 版本系统无法引导。因此,要将 UEFI 安全引导与 Beta 版本一起使用 ,请使用机器所有者密钥(MOK)设备将红帽 Beta 公钥添加到您的系统中。

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

本节包含关于如何为 UEFI 安全引导添加 Red Hat Enterprise Linux Beta 公钥的信息。

先决条件

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

步骤

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

    # 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. 选择 Enroll MOK
  5. 选择 Continue
  6. 选择 Yes ,并输入密码。密钥导入到系统的固件中。
  7. 选择 Reboot
  8. 在系统上启用安全引导。

18.3. 删除 Beta 公钥

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

这流程骤描述了如何删除 Beta 公钥。

步骤

  1. 开始从系统的机器所有者密钥(MOK)列表中删除 Red Hat Beta 公钥:

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

部分 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 命令。在非互动模式中,任何缺少的回答都会中止安装过程。

注意

如果在文本或图形模式下 kickstart 安装过程中需要用户互动,只在位完成安装过程必须进行更新的窗口中输入。输入 spoke 可能会导致重置 kickstart 配置。重置配置将特别适用于输入 Installation Destination 窗口后与存储相关的 kickstart 命令。

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 的详情,请参阅 安全强化 文档中的安装最小软件包挂载部分。请注意 : Initial Setup 无法在使用 Kickstart 文件安装系统后运行,除非安装中包含桌面环境和 X Window 系统,并启用了图形登录。

重要

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

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

A.2.2. 软件包选择命令

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

指定一个环境

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

%packages
@^Infrastructure Server
%end

这将安装属于 Infrastructure Server 环境一部分的所有软件包。所有可用环境都在 Red Hat Enterprise Linux 8 安装 DVD 上的 repository/repodata/*-comps-repository.architecture.xml 文件中进行了描述。

在 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-dtdsdocbook-style,它们与通配符表示的模式匹配。

指定模块流的配置集

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

%packages
@module:stream/profile
%end

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

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

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

在 Red Hat Enterprise Linux 8 中,模块只存在于 AppStream 存储库中。要列出提供的模块,请在安装的 Red Hat Enterprise Linux 8 系统上使用 yum module list 命令。

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

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

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

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

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

您可以使用多个选项更改 %packages 部分的默认行为。有些选项可以用于整个软件包选择,其它选项只与特定的组一起使用。

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

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

%packages --multilib --ignoremissing
--default
安装默认软件包组。这与在互动安装过程中的软件包选择页面中没有其他选择时要安装的软件包组对应。
--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 软件包组的安装,否则该安装默认为始终安装。使用 --nocore 禁用 @Core 软件包组应当仅用于创建轻量级容器;使用 --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 选项,否则不会安装该组中的软件包。

重要

--nodefaults--optional 选项不能一起使用。在使用 --nodefaults 安装时只会安装必需的软件包,并在安装的系统的后安装过程中安装可选软件包。

A.3. Kickstart 文件中的脚本

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

  • %pre
  • %pre-install
  • %post

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

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

A.3.1. %pre 脚本

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

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

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

重要

Kickstart 的 %pre 部分会在安装阶段执行,其在获取安装程序镜像(inst.stage2) 后发生:这意味着在 root 切换到安装程序环境(安装程序镜像),以及 Anaconda 安装程序本身启动 。然后,应用 %pre 中的配置,可用于从配置的安装存储库中获取软件包,例如:通过Kickstart 中的 URL。但是,不能 用于配置网络从网络获取镜像(inst.stage2)。

除了安装环境 /sbin/bin 目录中的大多数实用程序外,还可在 %pre 脚本中使用与网络、存储和文件系统相关的命令。

您可以在 %pre 部分中访问网络。然而,命名服务还没有被配置,所以只能使用 IP 地址,而不能使用 URL。

注意

pre 脚本不会在 chroot 环境中运行。

A.3.1.1. %pre 脚本部分选项

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

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

允许指定不同的脚本语言,如 Python。可以使用系统中可用的脚本语言;在大多数情况下,它们是 /usr/bin/sh/usr/bin/bash/usr/libexec/platform-python

请注意,platform-python 解释器使用 Python 版本 3.6。对于新路径和版本,您必须将您的针对以前的 RHEL 版本的 Python 脚本进行更改,以适用于新的路径和版本。另外,platform-python 用于系统工具:使用安装环境之外的 python36 软件包。有关 Red Hat Enterprise Linux 中 Python 的详情,请参考 配置基本系统设置 中的 Python 简介

--erroronfail
显示错误并在脚本失败时暂停安装。错误消息会指示您记录故障原因的位置。安装的系统可能会处于不稳定且无法启动的状态。您可以使用 inst.nokill 选项来调试脚本。
--log=

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

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

A.3.2. %pre-install 脚本

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

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

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

%pre-install 脚本可用于修改安装,并在软件包安装之前添加带有保证 ID 的用户和组。

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

注意: 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 中 Python 的详情,请参考 配置基本系统设置 中的 Python 简介

--erroronfail
显示错误并在脚本失败时暂停安装。错误消息会指示您记录故障原因的位置。安装的系统可能会处于不稳定且无法启动的状态。您可以使用 inst.nokill 选项来调试脚本。
--log=

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

%pre-install --log=/mnt/sysroot/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 中 Python 的详情,请参考 配置基本系统设置 中的 Python 简介

--nochroot

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

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

%post --nochroot
cp /etc/resolv.conf /mnt/sysroot/etc/resolv.conf
%end
--erroronfail
显示错误并在脚本失败时暂停安装。错误消息会指示您记录故障原因的位置。安装的系统可能会处于不稳定且无法启动的状态。您可以使用 inst.nokill 选项来调试脚本。
--log=

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

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

使用 --nochroot:

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

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

这个 %post 部分的示例挂载 NFS 共享并执行位于 /usr/new-machines/ 上的名为 runme 的脚本。请注意,在 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? 文章来了解有关在 Kickstart %post 部分中使用 subscription-manager 的更多信息。

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
显示错误并在脚本失败时暂停安装。错误消息会指示您记录故障原因的位置。安装的系统可能会处于不稳定且无法启动的状态。您可以使用 inst.nokill 选项来调试脚本。
--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 中 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 命令和选项的变化。

在 RHEL 8 中弃用了 auth 或 authconfig

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

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

Kickstart 不再支持 Btrfs

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

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

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

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

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

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

  • authauthconfig - 使用 authselect 替代
  • device
  • deviceprobe
  • dmraid
  • install - 使用子命令或者方法作为命令
  • multipath
  • bootloader --upgrade
  • ignoredisk --interactive
  • partition --active
  • reboot --kexec
  • syspurpose - 使用 subscription-manager syspurpose 替代

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

您可以使用 inst.ksstrict 引导选项将已弃用的命令警告转换为错误,但 authauthconfig 命令除外。

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

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

  • device
  • deviceprobe
  • dmraid
  • install - 使用子命令或者方法作为命令
  • multipath
  • bootloader --upgrade
  • ignoredisk --interactive
  • partition --active
  • harddrive --biospart
  • upgrade(该命令之前已经弃用。)
  • btrfs
  • part/partition btrfs
  • part --fstype btrfspartition --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
  • 这个命令没有选项。
  • 要实际运行安装,您必须指定 cdrom,harddrive,hmc,nfs,liveimg,ostreesetup,rhsm, 或 url 其中之一,除非inst.repo 选项在内核命令行上指定了。

B.2.2. cmdline

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

语法

cmdline

备注

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

B.2.3. driverdisk

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

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

Syntax

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= - 包含驱动程序磁盘(如 82p2)的 BIOS 分区。

备注

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

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

    driverdisk LABEL=DD:/e1000.rpm

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

B.2.4. EULA

eula Kickstart 命令是可选的。使用这个选项在没有用户互动的情况下接受最终用户许可证协议(End User License Agreement,EULA)。指定这个选项可防止 Initial Setup 在完成安装并第一次重启系统后提示您接受该许可证。

Syntax

eula [--agreed]

选项

  • --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 文件中指定可用模式之一(图形文本命令行),或者必须使用 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 镜像执行安装。必须使用安装程序可挂载的文件系统格式化驱动器:ext2, ext3, ext4, vfat, 或 xfs

Syntax

harddrive OPTIONS

选项

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

示例

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

备注

  • 在以前的版本中,harddrive 命令必须与 install 命令一同使用。install 命令已弃用,并且可以自行使用 harddrive,因为它表示 安装
  • 要实际运行安装,您必须指定 cdrom,harddrive,hmc,nfs,liveimg,ostreesetup,rhsm, 或 url 其中之一,除非inst.repo 选项在内核命令行上指定了。

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= - 从其中安装的位置。支持的协议包括 HTTPHTTPSFTPfile

可选选项

  • --url= - 从其中安装的位置。支持的协议包括 HTTPHTTPSFTPfile
  • --proxy= - 指定在执行安装时要使用的 HTTPHTTPS 或者 FTP 代理。
  • --checksum= - 包含镜像文件的 SHA256 校验和的可选参数,用于验证。
  • --noverifyssl - 连接到 HTTPS 服务器时禁用 SSL 验证。

示例

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

备注

  • 镜像可以是来自实时 ISO 镜像的 squashfs.img 文件、压缩的 tar 文件(.tar.tbz.tgz.txz.tar.bz2.tar.gz.tar.xz.),或者安装介质可以挂载的任何文件系统。支持的文件系统有 ext2ext3ext4vfatxfs
  • liveimg 安装模式与驱动程序磁盘一起使用时,磁盘中的驱动程序不会自动包含在安装的系统中。如有必要,应手动安装这些驱动程序,或在 kickstart 脚本的 %post 部分中安装这些驱动程序。
  • 要实际运行安装,您必须指定 cdrom,harddrive,hmc,nfs,liveimg,ostreesetup,rhsm, 或 url 其中之一,除非inst.repo 选项在内核命令行上指定了。
  • 在以前的版本中,liveimg 命令必须与 install 命令一同使用。install 命令已弃用,liveimg 可以自行使用,因为它代表 install

B.2.11. logging

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

注意

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

语法

logging OPTIONS

可选选项

  • --host= - 向给定的远程主机发送日志信息,该主机必须配置有一个 syslogd 进程,以接受远程记录。
  • --port= - 如果远程 syslogd 进程使用默认端口以外的端口,请使用这个选项进行设置。
  • --level= - 指定 tty3 上出现的最小信息级别。无论这个级别是什么,仍会将所有的信息发送到日志文件。可能的值有 debuginfowarningerrorcritical

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
  • 要实际运行安装,您必须指定 cdrom,harddrive,hmc,nfs,liveimg,ostreesetup,rhsm, 或 url 其中之一,除非inst.repo 选项在内核命令行上指定了。

B.2.14. ostreesetup

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

Syntax

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,以便在 64 位 IBM Z 中使用命令行模式安装时完全自动安装。
  • 有关其他完成方法,请查看 haltpoweroffshutdown Kickstart 选项。如果没有在 Kickstart 文件中明确指定其他方法,则 halt 选项是默认的完成方法。

B.2.17. rhsm

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

注意

在注册系统时,rhsm Kickstart 命令不需要使用自定义 %post 脚本。

选项

  • --orgrganization= - 使用组织 ID 从 CDN 注册和安装 RHEL。
  • --activation-key= - 使用激活码从 CDN 注册和安装 RHEL。只要在您的订阅中进行了注册,即可多次使用选项(每次使用一个激活码)。
  • --connect-to-insights - 将目标系统连接到 Red Hat Insights。
  • --proxy= - 设置 HTTP 代理。
  • 要使用 rhsm Kickstart 命令将安装源存储库切换到 CDN,您必须满足以下条件:

    • 在内核命令行上,您已使用 inst.stage2=<URL> 获取安装镜像,但没有使用 inst.repo= 指定安装源。
    • 在 Kickstart 文件中,您尚未使用 urlcdromharddriveliveimgnfsostree setup 命令指定安装源。
  • 使用引导选项指定或者包含在 Kickstart 文件中的安装源 URL 优先于 CDN,即使 Kickstart 文件包含带有有效凭证的 rhsm 命令。已注册该系统,但会通过 URL 安装源进行安装。这样可保证早期安装进程正常运行。

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 命令创建登录的临时帐户。该命令的每个实例都会创建一个只存在于安装环境中的单独帐户。这些不会转移到系统里。

Syntax

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 文件中指定可用模式之一(图形文本命令行),或者必须使用 console= 引导选项。如果没有指定模式,系统会尽可能使用图形模式,或者提示您从 VNC 和文本模式中选择。

B.2.21. url

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

您必须指定 --url--metalink--mirrorlist 选项之一。

语法

url --url=FROM [OPTIONS]

选项

  • --url=FROM - 指定要从中安装的 HTTPHTTPSFTP文件位置。
  • --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

备注

  • 在以前的版本中,url 命令必须与 install 命令一同使用。install 命令已弃用,并且 url 可以自行使用,因为它代表 install
  • 要实际运行安装,您必须指定 cdrom,harddrive,hmc,nfs,liveimg,ostreesetup,rhsm, 或 url 其中之一,除非inst.repo 选项在内核命令行上指定了。

B.2.22. vnc

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

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

Syntax

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 脚本部分之后评估,因此可用于将脚本生成的文件包含在 %pre 部分中。要在评估 %pre 部分之前包含文件,请使用 %ksappend 命令。

Syntax

%include path/to/file

B.2.24. %ksappend

%ksappend Kickstart 命令是可选的。

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

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

Syntax

%ksappend path/to/file

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

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

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

重要

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

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

Syntax

authconfig [OPTIONS]

备注

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

B.3.2. authselect

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

Syntax

authselect [OPTIONS]

备注

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

B.3.3. firewall

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

Syntax

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:protocol 格式指定允许通过防火墙的端口。例如,要允许 IMAP 通过您的防火墙,可指定 imap:tcp。数字端口也可以明确指定;例如,要允许 UDP 数据包在端口 1234 到,请指定 1234:udp。要指定多个端口,用逗号将它们隔开。
  • --service= - 此选项提供允许服务穿过防火墙的更高级别方法。有些服务(如 cupsvahi 等)需要打开多个端口或其他特殊配置才能使服务正常工作。您可以使用 --port 选项指定各个端口,或者指定 --service= 并一次性全部打开它们。

    有效选项是 firewalld 软件包中 firewall-offline-cmd 程序可识别的任何内容。如果 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) 相同格式的值,可以是 布局 格式(如 as cz),也可以是 布局变体 格式(如 cz (qwerty))。

    可以在下方的 xkeyboard-config(7) man page 中查看所有可用 布局

  • --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 命令是必需的。它设置了在安装过程中使用的语言以及系统的默认语言。

Syntax

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 脚本中启用软件包模块流。

Syntax

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 行。

Syntax

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 - 连接到 HTTPS 服务器时禁用 SSL 验证。

备注

  • 用于安装的软件仓库必须是稳定版本。如果在安装完成前修改库,则安装会失败。

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 密码 页面。

B.3.10. selinux

selinux Kickstart 命令是可选的。它在安装的系统中设定 SELinux 状态。默认 SELinux 策略为 enforcing

Syntax

selinux [--disabled|--enforcing|--permissive]

选项

--enforcing
使用默认目标策略启用 SELinux enforcing
--permissive
根据 SELinux 策略输出警告,但并不强制执行该策略。
--disabled
在系统上完全禁用 SELinux。

其他资源

B.3.11. services

services Kickstart 命令是可选的。它修改在默认 systemd 目标下运行的默认服务集合。禁用的服务列表会在启用的服务列表前进行处理。因此,如果服务出现在这两个列表中,它将被启用。

Syntax

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 选项的影响。

Syntax

skipx

备注

  • 这个命令没有选项。

B.3.13. sshkey

sshkey Kickstart 命令是可选的。它将 SSH 密钥添加到已安装系统上指定用户的 authorized_keys 文件中。

Syntax

sshkey --username=user "ssh_key"

必填选项

  • --username= - 要安装密钥的用户。
  • ssh_key - 完整的 SSH 密钥指纹。它必须用引号括起。

B.3.14. syspurpose

syspurpose Kickstart 命令是可选的。使用它来设置系统在安装后的系统目的。这些信息有助于在系统中应用正确的订阅授权。

注意

Red Hat Enterprise Linux 8.6 及更新的版本允许您使用 subscription-manager syspurpose 模块下提供的 roleservice-levelusageaddons 子命令管理和显示具有单个模块的系统目的属性。在以前的版本中,系统管理员使用四个独立的 syspurpose 命令来管理每个属性。从 RHEL 8.6 开始,这个独立的 syspurpose 命令被弃用,并计划在 RHEL 9 中删除。红帽将在当前发行生命周期中提供对这个功能的 bug 修复和支持,但此功能将不再获得改进。从 RHEL 9 开始,单个 subscription-manager syspurpose 命令及其相关的子命令是使用系统用途的唯一方法。

Syntax

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 命令行工具完成此操作。
注意

Red Hat Enterprise Linux 8.6 及更新的版本允许您使用 subscription-manager syspurpose 模块下提供的 roleservice-levelusageaddons 子命令管理和显示具有单个模块的系统目的属性。在以前的版本中,系统管理员使用四个独立的 syspurpose 命令来管理每个属性。从 RHEL 8.6 开始,这个独立的 syspurpose 命令被弃用,并计划在 RHEL 9 中删除。红帽将在当前发行生命周期中提供对这个功能的 bug 修复和支持,但此功能将不再获得改进。从 RHEL 9 开始,单个 subscription-manager syspurpose 命令及其相关的子命令是使用系统用途的唯一方法。

B.3.15. timezone(必需)

timezone Kickstart 命令是必需的。它设置系统时区。

Syntax

timezone timezone [OPTIONS]

必填选项

  • timezone - 为系统设定的时区。

可选选项

  • --UTC - 如果存在,系统假定硬件时钟被设置为 UTC(格林威治 Mean)时间。
  • --nontp - 禁用 NTP 服务自动启动。
  • --ntpservers= - 指定用作没有空格的逗号分隔列表的 NTP 服务器列表。

备注

在 Red Hat Enterprise Linux 8 中,时区名称使用 pytz 软件包提供的 pytz.common_timezones 列表进行验证。

B.3.16. user

user Kickstart 命令是可选的。它在系统上创建新用户。

Syntax

user --name=username [OPTIONS]

必填选项

  • --name= - 提供用户名称。这个选项是必需的。

可选选项

  • --GECOS= - 为用户提供 GECOS 信息。这个字符串包括使用逗号分开的各种具体系统字段。它通常用来指定用户全名、办公室号码等等。详情请查看 passwd(5) 手册页。
  • --groups= - 除默认组外,还有以逗号分隔的用户应属于的组名列表。组群必须在创建该用户帐户前就已经存在。请参阅 group 命令。
  • --homedir= - 用户的主目录。如果没有提供,则默认为 /home/username
  • --lock - 如果给出这个选项,则默认锁定这个帐户。这意味着用户无法从控制台登录。这个选项还在图形和文本手动安装中禁用创建用户 页面。
  • --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。这是因为为系统用户和组保留的范围( 0999 )将来可能会增加,因此与常规用户的 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 选项明确要求激活设备。

Syntax

network OPTIONS

选项

  • --activate - 在安装环境中激活这个设备。

    如果您在已经激活的设备中使用 --activate 选项(例如,使用引导选项配置的界面以便系统可以检索 Kickstart 文件),则会重新激活该设备以使用 Kickstart 文件中指定的详情。

    使用 --nodefroute 选项可防止设备使用默认路由。

  • --no-activate - 不要在安装环境中激活这个设备。

    默认情况下,无论 --activate 选项是什么,Anaconda 都会激活 Kickstart 文件中的第一个网络设备。您可以使用 --no-activate 选项禁用默认设置。

  • --bootproto= - dhcpbootpibftstatic 之一。默认选项为 dhcpdhcpbootp 选项的处理方式相同。要禁用设备的 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= 选项,会使用 inst.ks.device= 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
  • --ipv4-dns-search/--ipv6-dns-search - 手动设置 DNS 搜索域。您必须将这些选项与 --device 选项一起使用,并镜像其相应的 NetworkManager 属性,例如:

    network --device ens3 --ipv4-dns-search domain1.example.com,domain2.example.com
  • --ipv4-ignore-auto-dns/--ipv6-ignore-auto-dns - 设置来忽略 DHCP 中的 DNS 设置。您必须将这些选项与 --device 选项一起使用,这些选项不需要任何参数。
  • --ip= - 设备的 IP 地址。
  • --ipv6= - 设备的 IPv6 地址,格式为 address[/prefix length] - 例如 3ffe:ffff:0:1::1/128。如果省略 prefix,则使用 64。您还可以使用 auto 进行自动配置,或使用 dhcp 仅进行 DHCPv6 配置(无路由器广告)。
  • --gateway= - 作为单一 IPv4 地址的默认网关。
  • --ipv6gateway= - 作为单一 IPv6 地址的默认网关。
  • --nodefroute - 防止被设置为默认路由的接口。当您激活使用 --activate= 选项的其他设备时,请使用这个选项,例如:iSCSI 目标的单独子网中的 NIC。
  • --nameserver= - DNS 名称服务器作为 IP 地址。要指定一个以上名称服务器,使用这个选项,并使用逗号分隔每个 IP 地址。
  • --netmask= - 安装系统的网络掩码。
  • --hostname= - 用于配置目标系统的主机名。主机名可以是完全限定域名 (FQDN),格式为 hostname.domainname,也可以是不包括域的短主机名。许多网络具有动态主机配置协议(DHCP)服务,该服务可自动给连接的系统提供域名。要允许 DHCP 服务为这台机器分配域名,请只指定简短主机名。

    使用静态 IP 和主机名配置时,使用短名称还是 FQDN 取决于计划的系统用例。红帽身份管理在置备过程中配置 FQDN,但有些第三方软件产品可能需要短名称。在这两种情况下,要确保两种形式在所有情况下都可用,请在 /etc/hosts 中为主机添加一个条目,格式为 IP FQDN 短别名

    localhost 意味着没有为目标系统配置特定的静态主机名,安装的系统的实际主机名是在处理网络配置的过程中配置的,例如,通过使用 DHCP 或 DNS 的 NetworkManager。

    主机名只能包含字母数字字符和 -.主机名应等于或小于 64 个字符。主机名不能以 -. 开始或结尾。要兼容 DNS,FQDN 的每个部分都应等于或小于 63 个字符,FQDN 总计长度(包括点)不应超过 255 个字符。

    如果您只想配置目标系统的主机名,请在 network 命令中使用 --hostname 选项,且不包含任何其他选项。

    如果您在配置主机名时提供附加选项,network 命令将使用指定的选项来配置设备。如果您没有使用 --device 选项指定要配置的设备,则使用默认的 --device link 值。另外,如果您不使用 --bootproto 选项指定协议,则该设备会被配置为默认使用 DHCP。

  • --ethtool= - 指定将传递给 ethtool 程序的网络设备的其他低级别设置。
  • --onboot= - 是否在引导时启用该设备。
  • --dhcpclass= - DHCP 类。
  • --mtu= - 设备的 MTU。
  • --noipv4 - 在这个设备上禁用 IPv4。
  • --noipv6 - 在这个设备上禁用 IPv6。
  • --bondslaves= - 使用这个选项时,由 --device= 选项指定的绑定设备会使用 --bondslaves= 选项中定义的辅助设备创建。例如:

    network --device=bond0 --bondslaves=em1,em2

    以上命令创建了一个名为 bond0 的绑定设备,将 em1em2 接口用作其辅助设备。

  • --bondopts= - 绑定接口的可选参数列表,使用 --bondslaves=--device= 选项指定。这个列表中的选项必须以逗号(",")或分号(";")分开。如果某个选项本身包含一个逗号,请使用分号来分隔选项。例如:

    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 设备上创建一个名为 vlan171 的虚拟 LAN 接口,其 ID 为 171

    接口名称可以是任意名称(如 my-vlan),但在某些情况下,必须遵循以下约定:

    • 如果名称包含句点(.),则必须采用 NAME.ID 的形式。NAME 是任意的,但 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= - 由双引号括起的组设备配置,这是一个 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-ageRunAsAny-time。有关这些参数的详情,请查看 nm-settings(5) man page 中的 网桥 设置表,或者查看 网络配置设置规格

    有关网络桥接的常规信息,请参阅配置和管理网络文档。

  • --bindto=mac - 将安装的系统上的设备配置文件绑定到设备 MAC 地址(HWADDR),而不是默认绑定到接口名称(DEVICE)。请注意,这个选项独立于 --device= 选项 - 即使相同的 network 命令也指定了设备名称、linkbootif,也将应用 --bindto=mac

备注

  • 由于命名方案的变化,ethN 设备名称(如 eth0)在 Red Hat Enterprise Linux 中不再可用。有关设备命名方案的更多信息,请参阅上游文档可扩展网络接口名称
  • 如果您使用 Kickstart 选项或者引导选项指定网络中的安装程序库,但安装过程开始时无法使用网络,安装程序会在显示 安装概述窗口前,显示网络配置窗口以用于设置网络连接。详情请参阅 执行标准的 RHEL 8 安装 文档中的 配置网络和主机名选项 部分。

B.4.2. realm

realm Kickstart 命令是可选的。使用它加入 Active Directory 或 IPA 域。有关此命令的更多信息,请参阅 realm(8)man page 的 join 部分。

Syntax

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 和文件系统。

重要

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

通过使用这种方法,命令总是以相同的存储设备为目标。这在大型存储环境中特别有用。要利用系统上的可用设备名称,您可以在交互式安装过程中使用 ls -lR /dev/disk 命令。有关统一引用存储设备的不同方法的更多信息,请参阅 持久性命名属性的概述

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 命令是可选的。它自动创建分区。

自动创建的分区是:根(/)分区(1 GiB 或更大)、swap 分区,以及一个用于架构的合适的 /boot 分区。在足够大的驱动器(50 GiB 及更大)上,这还会创建一个 /home 分区。

语法

autopart OPTIONS

选项

  • --type= - 选择您要使用的预定义自动分区方案之一。可接受以下值:

    • lvm:LVM 分区方案。
    • plain:没有 LVM 的常规分区。
    • thinp :LVM Thin Provisioning 分区方案。

    有关可用分区方案的描述请参考 第 C.1 节 “支持的设备类型”

  • --fstype= - 选择其中一个可用文件系统类型。可用值包括 ext2ext3ext4xfsvfat。默认的文件系统是 xfs。有关这些文件系统的详情请参考 第 C.2 节 “支持的文件系统”
  • --nohome - 禁用自动创建 /home 分区。
  • --nolvm - 不使用 LVM 进行自动分区。这个选项等同于 --type=plain
  • --noboot - 不创建 /boot 分区。
  • --noswap - 不创建交换分区。
  • --encrypted - 使用 Linux 统一密钥设置 (LUKS) 加密所有分区。这等同于在手动图形安装的初始分区界面中选择加密分区选项。

    注意

    在加密一个或多个分区时, 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 相互排斥。

备注

  • autopart 选项不能与同一 Kickstart 文件中的 part/partitionraidlogvolvolgroup 选项一同使用。
  • autopart 命令不是强制的,但如果 Kickstart 脚本中没有 partmount 命令,则必须包含该命令。
  • 在 CMS 类型的单个 FBA DASD 中安装时,建议使用 autopart --nohome Kickstart 选项。这样可保证安装程序不会创建单独的 /home 分区。安装过程可以成功进行。
  • 如果您丢失了 LUKS 密码短语,那么就完全无法访问所有加密的分区及其数据。丢失的密码短语是无法找回的。但是,您可以使用 --escrowcert 保存加密密码短语,并使用 --backuppassphrase 选项创建加密密码短语备份。
  • 在使用 autopart, autopart --type=lvm, 或 autopart=thinp 时,请确保磁盘扇区大小一致。

B.5.3. bootloader(必需)

bootloader Kickstart 命令是必需的。它指定引导装载程序的安装方式。

Syntax

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 文件中添加相关选项,例如: bootloader --append="nopti noibrs noibpb" (在 AMD64/Intel 64 系统中)。

    警告

    在禁用任何漏洞缓解机制前,请确定您的系统不会受到安全攻击。有关 Meltdown 和 Spectre 漏洞的详情,请查看红帽漏洞响应文章

  • --boot-drive= - 指定引导装载程序应写入的驱动器,因此要从哪个驱动器引导计算机。如果您使用多路径设备作为引导驱动器,使用它的 disk/by-id/dm-uuid-mpath-WWID 名称指定该设备。

    重要

    目前,使用 zipl 引导装载程序的 64 位 IBM Z 系统中的 Red Hat Enterprise Linux 安装中会忽略 --boot-drive= 选项。安装 zipl 后,它会自行确定引导驱动器。

  • --leavebootorder - 安装程序会将 Red Hat Enterprise Linux 8 添加到引导装载程序中安装的系统列表的顶部,并保留所有现有的条目及其顺序。
重要

这个选项仅适用于 Power 系统,UEFI 系统不应该使用这个选项。

  • --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 8 安装 文档中的 配置引导装载程序 部分。
  • 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

    通过使用这种方法,命令总是以相同的存储设备为目标。这在大型存储环境中特别有用。要利用系统上的可用设备名称,您可以在交互式安装过程中使用 ls -lR /dev/disk 命令。有关统一引用存储设备的不同方法的更多信息,请参阅 持久性命名属性的概述

  • 在 Red Hat Enterprise Linux 8 中已弃用 --upgrade 选项。

B.5.4. zipl

zipl Kickstart 命令是可选的。它为 64 位 IBM Z 指定 ZIPL 配置。

选项

  • --secure-boot - 如果安装系统支持,则启用安全引导。
注意

当在 IBM z14 之后的系统中安装时,无法从 IBM z14 或更早的型号引导安装的系统。

  • --force-secure-boot - 无条件启用安全引导。
注意

IBM z14 及更早的型号不支持安装。

  • --no-secure-boot - 禁用安全引导.
注意

IBM z14 及更早的型号不支持安全引导。如果要在 IBM z14 及更早的型号中引导安装的系统,请使用 --no-secure-boot

B.5.5. clearpart

clearpart Kickstart 命令是可选的。在创建新分区之前,它会从系统中删除分区。默认情况下不会删除任何分区。

语法

clearpart OPTIONS

选项

  • --all - 断掉系统中的所有分区。

    这个选项将擦除安装程序可以访问的所有磁盘,包括任何附加的网络存储。请小心使用这个选项。

    为了防止您需要保留的存储会被 clearpart 清除,您可以使用 --drives= 选项指定需要删除的存储,或在以后附加网络存储(例如:在 Kickstart 文件的 %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 可以查看所有磁盘,因此请确保只连接要格式化的驱动器。即使没有使用 --initlabelclearpart 清除的磁盘也会创建标签。

    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 disklabels,但不接受 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

    通过使用这种方法,命令总是以相同的存储设备为目标。这在大型存储环境中特别有用。要利用系统上的可用设备名称,您可以在交互式安装过程中使用 ls -lR /dev/disk 命令。有关统一引用存储设备的不同方法的更多信息,请参阅 持久性命名属性的概述

  • 如果使用 clearpart 命令,则无法在逻辑分区中使用 part --onpart 命令。

B.5.6. fcoe

fcoe Kickstart 命令是可选的。它指定除了由 EDD (Enhanced Disk Drive Services)发现的设备外,还要自动激活哪些 FCoE 设备。

Syntax

fcoe --nic=name [OPTIONS]

选项

  • --nic= (必需)- 要激活的设备的名称。
  • --dcb= - 建立数据中心桥接 (DCB) 设置。
  • --autovlan - 自动发现 VLAN。默认启用这个选项。

B.5.7. ignoredisk

ignoredisk Kickstart 命令是可选的。这会导致安装程序忽略指定的磁盘。

如果您使用自动分区并希望忽略某些磁盘,这就很有用。例如,如果没有 ignoredisk,尝试在 SAN-cluster 中部署,Kickstart 将失败,因为安装程序检测到到 SAN 的被动路径没有分区表。

Syntax

ignoredisk --drives=drive1,drive2,... | --only-use=drive

选项

  • --drives=driveN,…​ - 使用 sdasdb、…​、hda、…​ 等之一替换 driveN
  • --only-use=driveN,…​ - 指定安装程序要使用的磁盘列表。其它磁盘将被忽略。例如:要在安装过程中使用磁盘 da 并忽略所有其他磁盘:

    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 中的一个。

备注

  • 在 Red Hat Enterprise Linux 8 中已弃用 --interactive 选项。这个选项允许用户手动在高级存储界面中进行操作。
  • 要忽略不使用逻辑卷管理(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

    通过使用这种方法,命令总是以相同的存储设备为目标。这在大型存储环境中特别有用。要利用系统上的可用设备名称,您可以在交互式安装过程中使用 ls -lR /dev/disk 命令。有关统一引用存储设备的不同方法的更多信息,请参阅 持久性命名属性的概述

B.5.8. iscsi

iscsi Kickstart 命令是可选的。它指定了在安装过程中要添加的附加 iSCSI 存储。

Syntax

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 节点分配名称。在 Kickstart 文件中,iscsiname 命令需要在 iscsi 命令的前面。
  • 尽可能在系统 BIOS 或固件(Intel 系统的iBFT)中配置 iSCSI 存储,而不是使用 iscsi 命令。Anaconda 自动检测并使用在 BIOS 或固件中配置的磁盘,且在 Kickstart 文件中不需要特殊配置。
  • 如果您必须使用 iscsi 命令,请确保在安装开始时激活联网,并且在使用 clearpartignoredisk 等命令引用 iSCSI 磁盘iscsi 命令会出现在 Kickstart 文件中。

B.5.9. iscsiname

iscsiname Kickstart 命令是可选的。它为 iscsi 命令指定的 iSCSI 节点分配名称。

Syntax

iscsiname iqname

选项

  • iqname - 分配给 iSCSI 节点的名称。

备注

  • 如果在 Kickstart 文件中使用 iscsi 命令,则必须在 Kickstart 文件 前面 指定 iscsiname

B.5.10. logvol

logvol Kickstart 命令是可选的。它为逻辑卷管理(LVM)创建一个逻辑卷。

Syntax

logvol mntpoint --vgname=name --name=name [OPTIONS]

必填选项

mntpoint

挂载分区的挂载点。必须是以下格式之一:

  • /path

    例如: //home

  • swap

    该分区被用作交换空间。

    要自动决定 swap 分区的大小,请使用 --recommended 选项:

    swap --recommended

    要自动决定 swap 分区的大小,并允许系统的额外空间可以休眠,请使用 --hibernation 选项:

    swap --hibernation

    分配的大小将相当于由 --recommended 分配的交换空间加上您系统上的 RAM 量。

    有关这些命令分配的 swap 大小,请参阅为 AMD64、Intel 64 和 64 位 ARM 系统 推荐的分区方案

--vgname=name
卷组名称。
--name=name
逻辑卷名称。

可选选项

--noformat
使用现有逻辑卷且不要对其进行格式化。
--useexisting
使用现有逻辑卷并重新格式化它。
--fstype=
为逻辑卷设置文件系统类型。有效值为 xfsext2ext3ext4swapvfat
--fsoptions=

指定挂载文件系统时要使用的选项的自由格式字符串。该字符串将复制到安装的系统的 /etc/fstab 文件中,并且应用引号括起来。

注意

在 EFI 系统分区(/boot/efi)中,anaconda 硬编码值,并忽略用户指定的 --fsoptions 值。

--mkfsoptions=

指定要传递给在这个分区上创建文件系统的程序的其他参数。没有对参数列表进行任何操作,因此必须以可直接传递给 mkfs 程序的格式提供。这意味着,根据具体文件系统,多个选项应该用逗号分开,或使用双引号分开。例如,

part /opt/foo1 --size=512 --fstype=ext4 --mkfsoptions="-O ^has_journal,^flex_bg,^metadata_csum"

part /opt/foo2 --size=512 --fstype=xfs --mkfsoptions="-m bigtime=0,finobt=0"

详情请查看您在创建的文件系统的手册页。例如:mkfs.ext4mkfs.xfs

--fsprofile=
指定传递给在这个分区上创建文件系统的程序的使用类型。使用类型定义了创建文件系统时使用的各种微调参数。要使用这个选项,文件系统必须支持使用类型,且必须有一个配置文件来列出有效类型。对于 ext2ext3ext4,此配置文件为 /etc/mke2fs.conf
--label=
为逻辑卷设置标签。
--grow
扩展逻辑卷以占据可用空间(若有),或使用指定的最大值(若有)。只有在磁盘镜像中预分配了最小存储空间时,必须使用该选项,并希望该卷扩展并占据所有可用空间。在物理环境中,这是一次性的操作。但是在虚拟环境中,当虚拟机将任何数据写入虚拟磁盘时,卷大小会增加。
--size=
MiB 中的逻辑卷的大小。此选项不能与 --percent= 选项一同使用。
--percent=

考虑任何静态大小逻辑卷时的逻辑卷大小,作为卷组中剩余空间的百分比。这个选项不能与 --size= 选项一同使用。

重要

在创建新逻辑卷时,您必须使用 --size= 选项静态指定其大小,或使用 --percent= 选项指定剩余空间的百分比。您不能在同一逻辑卷中同时使用这些选项。

--maxsize=
当将逻辑卷设置为可扩充时 MiB 的最大值。在这里指定一个整数值,如 500 (不要包含单位)。
--recommended

创建逻辑卷时使用这个选项,根据您的系统硬件自动决定这个卷的大小。

有关推荐方案的详情,请参考为 AMD64、Intel 64 和 64 位 ARM 系统 推荐的分区方案

--resize
重新调整逻辑卷大小。如果使用这个选项,还必须指定 --useexisting--size
--encrypted

指定该逻辑卷应该通过 Linux Unified Key Setup(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)算法。另请参阅 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) 手册页。
--cachepvs=
用逗号分开的物理卷列表,它应用作这个卷的缓存。
--cachemode=

指定应该使用哪种模式缓存这个逻辑卷 - writebackwritethrough

注意

有关缓存的逻辑卷及其模式的详情,请参考 lvmcache(7) 手册页。

--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 的位置。它必须是有效的挂载点,如 //usr,如果设备不可卸载,则为 none (如 swap)。

可选选项:

  • --reformat= - 指定应重新格式化该设备的新格式(如 ext4)。
  • --mkfsoptions= - 指定要传递给 命令的附加选项,该命令将创建 --reformat= 中指定的新文件系统。这里提供的选项列表没有被处理,因此必须使用可直接传递给 mkfs 程序的格式指定。根据具体文件系统,选项列表应该用逗号分开,或使用双引号分开。有关具体详情,请参阅 mkfs man page(例如 mkfs.ext4(8)mkfs.xfs(8))。
  • --mountoptions= - 指定自由格式字符串,其中包含挂载文件系统时要使用的选项。字符串将复制到安装的系统上的 /etc/fstab 文件,并使用双引号括起来。有关挂载选项的完整列表,请参见 mount(8) 手册页,有关基础知识,请参见 fstab(5)

备注

  • 与 Kickstart 中的大多数其他存储配置命令不同,mount 不需要您在 Kickstart 文件中描述整个存储配置。您只需要确定系统中存在描述的块设备。但是,如果要使用挂载的所有设备创建存储堆栈,则必须使用其他命令,比如 part 要这样做。
  • 在同一个 Kickstart 文件中,您不能将 mount 与其他存储相关的命令,如 partlogvolautopart 一起使用。

B.5.12. nvdimm

nvdimm Kickstart 命令是可选的。它对非线性内存模块(NVDIMM)设备执行操作。

Syntax

nvdimm action [OPTIONS]

Actions

  • 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 命令。它在系统上创建一个分区。

Syntax

part|partition mntpoint [OPTIONS]

选项

  • mntpoint - 挂载分区的位置。该值必须是以下格式之一:

    • /path

      例如: //usr/home

    • swap

      该分区被用作交换空间。

      要自动决定 swap 分区的大小,请使用 --recommended 选项:

      swap --recommended

      分配的大小将生效,但不会根据您的系统进行精确校准。

      要自动确定 swap 分区的大小,同时允许系统的额外空间可以休眠,请使用 --hibernation 选项:

      swap --hibernation

      分配的大小将相当于由 --recommended 分配的交换空间加上您系统上的 RAM 量。

      有关这些命令分配的 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 - 告诉分区使用所有可用空间(若有),或使用设置的最大值(如果指定了最大值)。

    注意

    如果您在交换分区上使用 --grow= 但没有设置 --maxsize=,Anaconda 会限制 swap 分区的最大大小。对于物理内存小于 2 GiB 的系统,强制的限制为物理内存的两倍。对于超过 2 GiB 的系统,强制限制为物理内存大小加上 2GiB。

  • --maxsize= - 分区设置为增长时的最大分区大小(以 MiB 为单位)。在这里指定一个整数值,如 500 (不要包含单位)。
  • --noformat - 指定不要被格式化的分区,以便与 --onpart 命令一起使用。
  • --onpart=--usepart= - 指定要放置分区的设备。使用现有的空白设备并将其格式化到新指定类型。例如:

    partition /home --onpart=hda1

    /home 放置到 /dev/hda1

    这些选项还可以在逻辑卷中添加分区。例如:

    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 的磁盘可能不是您期望的磁盘。因此,part 命令可能会以错误的磁盘为目标。

  • --asprimary - 强制将该分区分配为 primary 分区。如果无法将该分区作为主分区分配(通常是因为已经分配了太多的主分区),则该分区进程会失败。只有使用主引导记录(MBR)时这个选项才有意义。
  • --fsprofile= - 指定要传递给在这个分区上创建文件系统的程序的使用类型。使用类型定义了创建文件系统时使用的各种微调参数。要使用这个选项,文件系统必须支持使用类型,且必须有一个配置文件来列出有效类型。对于 ext2ext3ext4,此配置文件为 /etc/mke2fs.conf
  • --mkfsoptions= - 指定要传递给在此分区上创建文件系统的程序的其他参数。这与 --fsprofile 类似,但适用于所有文件系统,而不仅仅是支持配置集概念的文件系统。没有对参数列表进行任何操作,因此必须以可直接传递给 mkfs 程序的格式提供。这意味着,根据具体文件系统,多个选项应该用逗号分开,或使用双引号分开。例如,

    part /opt/foo1 --size=512 --fstype=ext4 --mkfsoptions="-O ^has_journal,^flex_bg,^metadata_csum"
    
    part /opt/foo2 --size=512 --fstype=xfs --mkfsoptions="-m bigtime=0,finobt=0"

详情请查看您在创建的文件系统的手册页。例如:mkfs.ext4mkfs.xfs

  • --fstype= - 为分区设置文件系统类型。有效值为 xfsext2ext3ext4swapvfatefibiosboot
  • --fsoptions - 指定在挂载文件系统时要使用的自由格式选项字符串。该字符串将复制到安装的系统的 /etc/fstab 文件中,并且应用引号括起来。

    注意

    在 EFI 系统分区(/boot/efi)中,anaconda 硬编码值,并忽略用户指定的 --fsoptions 值。

  • --label= - 为单个分区分配标签。
  • --recommended - 自动确定分区的大小。

    有关推荐方案的详情,请参阅 AMD64、Intel 64 和 64 位 ARM 的 第 C.4 节 “推荐的分区方案”

    重要

    这个选项只能用于生成文件系统(如 /boot 分区和 交换空间)的分区。它不能被用来创建 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
  • 在 Red Hat Enterprise Linux 8 中已弃用 --active 选项。
  • 如果因为某种原因分区失败,虚拟控制台 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

    通过使用这种方法,命令总是以相同的存储设备为目标。这在大型存储环境中特别有用。要利用系统上的可用设备名称,您可以在交互式安装过程中使用 ls -lR /dev/disk 命令。有关统一引用存储设备的不同方法的更多信息,请参阅 持久性命名属性的概述

  • 如果您丢失了 LUKS 密码短语,那么就完全无法访问所有加密的分区及其数据。丢失的密码短语是无法找回的。但是,您可以使用 --escrowcert 保存加密密码短语,并使用 --backuppassphrase 选项创建加密密码短语备份。

B.5.14. raid

raid Kickstart 命令是可选的。它组成一个软件 RAID 设备。

Syntax

raid mntpoint --level=level --device=device-name partitions*

选项

  • mntpoint - 挂载 RAID 文件系统的位置。如果是 /,RAID 级别必须是 1,除非引导分区 (/boot) 存在。如果引导分区存在,/boot 分区必须是级别 1,root (/) 分区可以是任意可用的类型。partitions* (代表多个分区可以被列举)列出了要添加到 RAID 阵列的 RAID 标记。

    重要
    • 在 IBM Power 系统上,如果一个 RAID 设备已经准备好,并在安装过程中没有被重新格式化,如果您打算将 /boot 和 PReP 分区放在 RAID 设备上,请确保 RAID 元数据版本为 0.901.0。对于 /boot 和 PReP 分区,不支持mdadm 元数据版本 1.11.2
    • PowerNV 系统上不需要 PReP 引导分区。
  • --level= - 使用的 RAID 级别(0、1、4、5、6 或 10)。

    有关各种可用 RAID 级别的详情,请查看 第 C.3 节 “支持的 RAID 类型”

  • --device= - 要使用的 RAID 设备的名称 - 例如 --device=root

    重要

    不要使用 md0 格式的 mdraid 名称 - 无法保证这些名称具有持久性。相反,应使用有意义的名称,如 rootswap。使用有含义的名称可生成一个从 /dev/md/name/dev/mdX 节点分配到的阵列的符号链接。

    如果您有一个无法为其分配名称的旧阵列(v0.90 元数据),您可以使用文件系统标签或 UUID 指定阵列。例如,--device=LABEL=root--device=UUID=93348e56-4631-d0f0-6f5b-45c47f570b88

    您可以使用 RAID 设备上文件系统的 UUID 或 RAID 设备本身的 UUID。RAID 设备的 UUID 应为 8-4-4-4-12 格式。mdadm 报告的 UUID 采用 8:8:8:8 格式,需要更改。例如 93348e56:4631d0f0:6f5b45c4:7f570b88 改为 93348e56-4631-d0f0-6f5b-45c47f570b88

  • --CHUNKSIZE= - 以 KiB 为单位设置 RAID 存储的块大小。在某些情况下,使用与默认块不同的块大小 (512 Kib) 可以提高 RAID 的性能。
  • --spares= - 指定分配给 RAID 阵列的备用驱动器数量。可使用备用驱动器在驱动器失败时重建阵列。
  • --fsprofile= - 指定要传递给在这个分区上创建文件系统的程序的使用类型。使用类型定义了创建文件系统时使用的各种微调参数。要使用这个选项,文件系统必须支持使用类型,且必须有一个配置文件来列出有效类型。对于 ext2、ext3 和 ext4,此配置文件为 /etc/mke2fs.conf
  • --fstype= - 为 RAID 阵列设置文件系统类型。有效值为 xfsext2ext3ext4swapvfat
  • --fsoptions= - 指定在挂载文件系统时要使用的自由格式选项字符串。该字符串将复制到安装的系统的 /etc/fstab 文件中,并且应用引号括起来。

    注意

    在 EFI 系统分区(/boot/efi)中,anaconda 硬编码值,并忽略用户指定的 --fsoptions 值。

  • --mkfsoptions= - 指定要传递给在此分区上创建文件系统的程序的其他参数。没有对参数列表进行任何操作,因此必须以可直接传递给 mkfs 程序的格式提供。这意味着,根据具体文件系统,多个选项应该用逗号分开,或使用双引号分开。例如,

    part /opt/foo1 --size=512 --fstype=ext4 --mkfsoptions="-O ^has_journal,^flex_bg,^metadata_csum"
    
    part /opt/foo2 --size=512 --fstype=xfs --mkfsoptions="-m bigtime=0,finobt=0"

详情请查看您在创建的文件系统的手册页。例如:mkfs.ext4mkfs.xfs

  • --label= - 指定要生成的文件系统的标签。如果给定标签已被另一个文件系统使用,则会创建一个新标签。
  • --noformat - 使用现有的 RAID 设备,且不要格式化 RAID 阵列。
  • --use existing - 使用现有的 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 - 向这个设备添加随机生成的密码短语。将该密语存储在 /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 相互排斥。

示例

下面的例子展示,假定系统里有三个 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 分区。

Syntax

reqpart [--add-boot]

选项

  • --add-boot - 除基础命令创建的特定于平台的分区之外,还创建一个单独的 /boot 分区。

备注

  • 这个命令不能与 autopart 命令一同使用,因为 autopart 会做所有 reqpart 命令要做的工作,另外,还创建其他分区或者逻辑卷,比如 /swap。与 autopart 不同,这个命令只创建特定于平台的分区,并将驱动器的其余部分留空,允许您创建自定义布局。

B.5.16. snapshot

snapshot Kickstart 命令是可选的。在安装过程中使用 LVM 精简卷快照来创建 LVM 精简卷快照。这可让您在安装前或安装后备份逻辑卷。

要创建多个快照,请多次添加 snaphost Kickstart 命令。

Syntax

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)组。

Syntax

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)磁盘的 64 位 IBM Z 系统中执行安装时,需要这个命令,否则未格式化的磁盘不会被格式化并在安装过程中使用。

Syntax

zerombr

备注

  • 在 64 位 IBM Z 上,如果指定了 zerombr,安装程序可以看到的直接访问存储设备 (DASD) 都会使用 dasdfmt 自动低级格式化。这个命令还可防止用户在互动安装过程中进行选择。
  • 如果没有指定 zerombr,且安装程序至少可以看到一个未格式化的 DASD,非互动的 Kickstart 安装将无法成功退出。
  • 如果没有指定 zerombr,且安装程序至少可以看到一个未格式化的 DASD,如果用户同意格式化所有可见和未格式化的 DASD,则会退出交互式安装。要绕过这个过程,请只激活那些您要在安装过程中使用的 DASD。您总是可在安装完成后添加更多的 DASD。
  • 这个命令没有选项。

B.5.19. zfcp

zfcp Kickstart 命令是可选的。它定义了光纤通道设备。

这个选项只适用于 64 位 IBM Z。必须指定以下所有选项。

Syntax

zfcp --devnum=devnum [--wwpn=wwpn --fcplun=lun]

选项

  • --devnum= - 设备号(zFCP 适配器设备总线 ID)。
  • --WWPN= - 设备的全球端口名称 (WWPN)。形式为 16 位数字,前面带有 0x
  • --fcplun= - 该设备的逻辑单元号 (LUN)。形式为 16 位数字,前面带有 0x
注意

如果提供了自动 LUN 扫描且安装了 8 或更高版本,则可以指定 FCP 设备总线 ID。否则,所有这三个参数都是必需的。如果没有通过 zfcp.allow_lun_scan 模块参数禁用,自动 LUN 扫描可用于在 NPIV 模式下对 FCP 设备的操作。(默认启用)它对附加到指定总线 ID 的 FCP 设备的存储区域网络中发现的所有 SCSI 设备提供访问。

示例

zfcp --devnum=0.0.4000 --wwpn=0x5005076300C213e9 --fcplun=0x5022000000000000
zfcp --devnum=0.0.4000

B.6. RHEL 安装程序提供的附加组件的 Kickstart 命令

这部分中的 Kickstart 命令与 Red Hat Enterprise Linux 安装程序默认提供的附加组件相关: Kdump 和 OpenSCAP。

B.6.1. %addon com_redhat_kdump

%addon com_redhat_kdump Kickstart 命令是可选的。这个命令配置 kdump 内核崩溃转储机制。

Syntax

%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 定义正文中的键值对。这些键值对无法验证空白。值可以选择使用单引号 (') 或者双引号(")括起来。

Syntax

%addon org_fedora_oscap
key = value
%end

Keys

以下键可以被附加组件识别:

content-type

安全内容的类型。可能的值有 datastreamarchiverpmscap-security-guide

如果 content-typescap-security-guide,则附加组件将使用 scap-security-guide 软件包提供的内容,该内容存在于引导介质中。这意味着,除了 profile 外所有其他键都无效。

content-url
安全内容的位置。必须通过 HTTP、HTTPS 或者 FTP 访问该内容。必须有可用的网络连接方可访问远程位置中的内容定义。
datastream-id
content-url 值中引用的数据流的 ID。仅在 content-typedatastream 时使用。
xccdf-id
要使用的基准 ID。
content-path
应使用到 datastream 或 XCCDF 文件的路径,在归档中使用相对路径。
配置集
要应用的配置集 ID。使用 default 应用 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 = xccdf_org.ssgproject.content_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 用户帐户创建密码。密码长度和强度等因素决定了密码的有效性。

Syntax

pwpolicy name [--minlen=length] [--minquality=quality] [--strict|--notstrict] [--emptyok|--notempty] [--changesok|--nochanges]

必填选项

  • name - 使用 rootuserluks 替换,以分别强制执行与 root 密码、用户密码或 LUKS 密码短语相关的策略。

可选选项

  • --minlen= - 以字符为单位设置允许密码长度的最小值。默认值为 6
  • --minquality= - 设置 libpwquality 库定义的最小允许密码质量。默认值为:1
  • --strict - 启用严格的密码强制.不接受没有满足 --minquality=--minlen= 中指定的要求的密码。默认禁用这个选项。
  • --notstrict - 在 GUI 中点 Done 两次后,可以接受不符合 --minquality=-minlen= 选项中指定的最低质量要求的密码。文本模式界面使用类似的机制。
  • --emptyok - 允许使用空密码。对于用户密码,默认启用。
  • --notempty - 不允许使用空密码。对于 root 密码和 LUKS 密码,默认启用。
  • --changesok - 允许在用户界面中更改密码,即使 Kickstart 文件已指定了密码。默认禁用此选项。
  • --nochanges - 不允许更改在 Kickstart 文件中已设置的密码。默认启用此选项。

备注

  • pwpolicy 命令是 Anaconda UI 特定的命令,只能在 kickstart 文件的 %anaconda 部分中使用。
  • libpwquality 程序库用于检查最低密码要求(长度和服务)。您可以使用 libpwquality 软件包提供的 pwscorepwmake 命令检查密码质量得分,或使用给定分数创建随机密码。有关这些命令的详情,请查看 pwscore(1)pwmake(1) man page。

B.8. kickstart 命令进行系统恢复

这部分中的 Kickstart 命令修复安装了的系统。

B.8.1. rescue

rescue Kickstart 命令是可选的。它提供有 root 特权的 shell 环境,以及一组系统管理工具修复安装以及排除问题,例如:

  • 以只读方式挂载文件系统
  • 阻塞列表或添加驱动程序磁盘中提供的驱动程序
  • 安装或升级系统软件包
  • 管理分区
注意

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 空间。标准分区最常用于 /bootBIOS 引导EFI 系统分区。多数其他用途,推荐使用 LVM 逻辑卷。
LVM
选择 LVM (或者逻辑卷管理)作为设备类型会生成一个 LVM 逻辑卷。LVM 可在使用物理磁盘时提高性能,并允许高级设置,比如在一个挂载点使用多个物理磁盘,并设置软件 RAID 来提高性能、可靠性或两者。
LVM 精简配置
使用精简配置,您可以管理一个空闲空间的存储池,称为精简池,可在应用程序需要时将其分配给任意数量的设备。您可以根据需要动态地扩展池,以便有效分配存储空间。
警告

安装程序不支持超额提供的 LVM 精简池。

C.2. 支持的文件系统

这部分论述了 Red Hat Enterprise Linux 中可用的文件系统。

xfs
XFS 是一种高度可扩展的、高性能文件系统,最大支持 16 EB(大约 1600 万 TB)的文件系统、8 EB(大约 800 万 TB)的文件,以及包含数百万条目的目录结构。XFS 还支持元数据日志,,提高崩溃恢复速度。单个 XFS 文件系统最多支持 500 TB。XFS 是 Red Hat Enterprise Linux 中默认和推荐的文件系统。XFS 文件系统无法缩小以获得可用空间。
ext4
ext4 文件系统基于 ext3 文件系统,但包括了很多改进。这包括对更大文件系统和更大文件的支持、更快更有效的磁盘空间分配、一个目录中无限的子目录数、更快速的文件系统检查及更强大的日志能力。单个 ext4 文件系统最多支持 50 TB。
ext3
ext3 文件系统基于 ext2 文件系统,它有一个主要优点 - 日志。使用日志记录文件系统可减少在文件系统终止后恢复文件系统所花费的时间,因为不需要每次运行 fsck 程序检查文件系统元数据一致性。
ext2
ext2 文件系统支持标准 Unix 文件类型,包括常规文件、目录或符号链接。它允许分配长文件名,最多 255 个字符。
swap
交换分区是用来支持虚拟内存的。换句话说,当内存不足以贮存系统正在处理的数据时,数据就会被写入 swap 分区。
vfat

VFAT 文件系统是一个与 Microsoft Windows 的 FAT 文件系统上的长文件名兼容的 Linux 文件系统。

注意

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 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 文件系统层次结构标准,以了解有关各种系统目录及其内容的信息。
  • 每个内核大约需要:60MiB(initrd 34MiB、11MiB vmlinuz 和 5MiB System.map)
  • 对于救援模式:100MiB(initrd 76MiB、11MiB vmlinuz 和 5MiB System map)
  • 当在系统中启用 kdump 时,它将需要大约额外的 40MiB(另一个包含 33MiB 的 initrd)

    /boot 的默认 1 GiB 分区大小应该足以满足大多数常见用例的需要。但如果您计划保留多个内核发行本或者勘误内核,则建议您增大这个分区的大小。

  • /var 目录保存了大量应用程序的内容,包括 Apache Web 服务器,YUM 软件包管理器使用其来临时存储下载的软件包更新。确保包含 /var 的分区或卷至少有 5 GiB。
  • /usr 目录保存有关典型的 Red Hat Enterprise Linux 安装的大部分软件。因此,包含此目录的分区或卷应该至少 5 GiB 用于最小安装,使用图形环境的安装需要至少 10 GiB。
  • 如果 /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

C.6. 支持的硬件存储

非常重要的一点是,了解如何配置存储技术以及如何在 Red Hat Enterprise Linux 主要版本间的更改对存储技术的支持。

硬件 RAID

您的计算机主板或者附加控制器卡提供的所有 RAID 功能都需要在开始安装进程前进行配置。在 Red Hat Enterprise Linux 中,每个活跃的 RAID 阵列都以一个驱动器的形式出现。

软件 RAID

在有多个磁盘的系统中,您可以使用 Red Hat Enterprise Linux 安装程序作为 Linux 软件 RAID 阵列运行多个驱动器。使用软件 RAID 阵列时,RAID 功能是由操作系统而非专用硬件控制的。

注意

当预先存在的 RAID 阵列成员设备都是未分区的磁盘/驱动器时,安装程序会将阵列视为一个磁盘,且没有方法来删除阵列。

USB 磁盘

您可在安装后连接和配置外部 USB 存储。大多数设备可被内核识别,但有些设备可能无法识别。如果在安装过程中不需要配置这些磁盘,请断开连接以避免潜在的问题。

NVDIMM 设备

要使用非易失性双内存模块(NVDIMM)设备作为存储,必须满足以下条件:

  • Red Hat Enterprise Linux 的版本为 7.6 或更高版本。
  • 系统的构架是 Intel 64 或者 AMD64。
  • 该设备被配置为扇区模式。Anaconda 可将 NVDIMM 设备重新配置成此模式。
  • 该设备必须被 nd_pmem 驱动程序支持。

在以下附加条件下可使用 NVDIMM 设备引导:

  • 系统使用 UEFI。
  • 该设备必须使用系统中可用的固件或者 UEFI 驱动程序支持。UEFI 驱动程序可以从设备本身的 ROM 选项加载。
  • 该设备必须在命名空间下提供。

要在引导过程中利用 NVDIMM 设备的高性能,将 /boot/boot/efi 目录放在该设备中。

注意

引导过程中不支持 NVDIMM 设备的 Execute-in-place(XIP)功能,内核被加载到传统内存中。

Intel BIOS RAID 设定的注意事项

Red Hat Enterprise Linux 使用 mdraid 在 Intel BIOS RAID 组件中安装。这些组件会在引导过程中自动探测到,设备节点路径可在多个引导过程中更改。建议您使用文件系统标签或者设备 UUID 替换设备节点路径(比如 /dev/sda)。您可以使用 blkid 命令查找文件系统标签和设备 UUID。

法律通告

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.