跳到内容跳到页面导航:上一页 [access key p]/下一页 [access key n]
documentation.suse.com / SUSE Linux Enterprise Server 文档 / 部署指南 / 设置安装服务器 / 部署自定义预安装
适用范围 SUSE Linux Enterprise Server 15 SP6

20 部署自定义预安装

将自定义的 SUSE Linux Enterprise Server 预安装版本部署到许多相同的计算机上,可为您免除一个个单独安装的麻烦,同时为最终用户提供了标准化安装。

利用 YaST 首次引导功能,可以创建自定义预安装映像,并确定涉及最终用户交互的最终个性化步骤对应的工作流程(AutoYaST 则不同,它允许采用完全自动化的安装方式)。

创建自定义安装、部署到硬件及使最终产品个性化包括以下步骤:

  1. 准备磁盘需要克隆到客户端的主计算机。有关详细信息,请参见第 20.1 节 “准备主计算机”

  2. 自定义 firstboot 工作流程。有关详细信息,请参见第 20.2 节 “自定义首次引导安装”

  3. 复制主计算机磁盘,将映像转到客户端磁盘上。有关详细信息,请参见第 20.3 节 “克隆主安装”

  4. 让最终用户个性化 SUSE Linux Enterprise Server 的实例。有关详细信息,请参见第 20.4 节 “个性化安装”

20.1 准备主计算机

为 firstboot 工作流程准备主计算机,请按以下步骤操作:

  1. 将安装媒体插入主计算机中。

  2. 引导计算机。

  3. 执行正常的安装流程(包括所有必要的配置步骤),确保选择安装 yast2-firstboot 软件包。

  4. 要对最终用户 YaST 配置步骤定义自己的工作流程,或将自己的 YaST 模块添加到该工作流程,请转到第 20.2 节 “自定义首次引导安装”。否则的话,直接转到步骤 5

  5. root 身份启用首次引导:

    创建空文件 /var/lib/YaST2/reconfig_system 以触发首次引导的执行。成功完成首次引导配置后,此文件将删除。用以下命令创建该文件:

    touch /var/lib/YaST2/reconfig_system
  6. 转到第 20.3 节 “克隆主安装”

20.2 自定义首次引导安装

自定义首次引导安装工作流程可能涉及数个组件。建议对它们进行自定义。如果不做任何更改,firstboot 会用默认设置执行安装。下列选项可用:

要自定义其中的任何组件,请修改以下配置文件:

/etc/sysconfig/firstboot

配置 firstboot 的不同方面(例如发行说明、脚本和许可证操作)。

/etc/YaST2/firstboot.xml

通过启用或禁用组件或者添加自定义组件,配置安装工作流程。

第 20.2.6 节 “提供安装工作流程的翻译”中所述,提供此类自定义安装工作流程的翻译。

提示
提示:控制文件的替代位置

/etc/YaST2/firstboot.xmlyast2-firstboot 软件包安装的控制文件的默认路径。如果您需要为控制文件指定其他位置,请编辑 /etc/sysconfig/firstboot,将 FIRSTBOOT_CONTROL_FILE 变量更改为您首选的位置。

如果要自定义的不仅仅是工作流程组件,请参见 control.xml 上的 https://doc.opensuse.org/projects/YaST/SLES11/tdg/inst_in_general_chap.html#product_control 文档。

20.2.1 自定义 YaST 消息

默认情况下,SUSE Linux Enterprise Server 的安装包含一些已本地化并会显示于安装过程特定阶段的默认消息。这些消息包括欢迎消息、许可证消息和安装结束时的祝贺消息。您可以将其中任何消息替换成自己的版本,并在安装中包含它们的本地化版本。要包含您自己的欢迎消息,请按以下步骤继续:

  1. root 身份登录。

  2. 打开 /etc/sysconfig/firstboot 配置文件,并应用以下更改:

    1. FIRSTBOOT_WELCOME_DIR 设置为要存储包含欢迎消息和本地化版本的文件的目录路径,例如:

      FIRSTBOOT_WELCOME_DIR="/usr/share/firstboot/"
    2. 如果欢迎消息的相应文件名不是 welcome.txtwelcome_locale.txt(其中,locale 与诸如csde的 ISO 639 语言代码相匹配),请在 FIRSTBOOT_WELCOME_PATTERNS 中指定文件名模式。例如:

      FIRSTBOOT_WELCOME_PATTERNS="mywelcome.txt"

      如未设置,将假定为默认值 welcome.txt

  3. 创建欢迎文件和本地化版本,并将其存放在 /etc/sysconfig/firstboot 配置文件中指定的目录内。

按类似方法继续,配置自定义许可证并完成消息。这些变量为 FIRSTBOOT_LICENSE_DIRFIRSTBOOT_FINISH_FILE

如果用户需要在执行安装后能够直接启动 YaST,请将 SHOW_Y2CC_CHECKBOX 更改为Yes

20.2.2 自定义许可操作

您可以自定义安装系统对不接受许可协议的用户所做出的反应。对于此情况,系统可采取以下三种不同的应对方式:

halt

firstboot 安装已中止,整个系统关闭。这是默认设置。

continue

firstboot 安装继续。

abort

firstboot 安装已中止,但系统尝试引导。

选择所需的选项,并将 LICENSE_REFUSAL_ACTION 设置为适当的值。

20.2.3 自定义发行说明

根据您是否更改了要通过首次引导部署的 SUSE Linux Enterprise Server 实例,可能需要让最终用户了解新操作系统的重要方面。标准安装使用发行说明(在安装的最后阶段之一显示),目的是为用户提供重要信息。要让您自己修改过的发行说明作为 firstboot 安装的一部分显示,请执行以下步骤:

  1. 创建您自己的发行说明文件。如 /usr/share/doc/release-notes 中的示例文件所示使用 RTF 格式,并将结果另存为 RELEASE-NOTES.en.rtf(英语)。

  2. 在原始版本旁边存储可选本地化版本,并将文件名中的 en 部分替换为实际的 ISO 639 语言代码,如用 de 表示德语。

  3. /etc/sysconfig/firstboot 打开首次引导配置文件,并将 FIRSTBOOT_RELEASE_NOTES_PATH 设置为存储发行说明文件的实际目录。

20.2.4 自定义工作流程

提供的 /etc/YaST2/firstboot.xml 示例定义了一个标准工作流程,其中包含下列启用的组件:

  • 语言选择

  • 欢迎

  • 许可协议

  • 时间和日期

  • 用户

  • Root 口令

  • 完成安装

请注意,此工作流程是一个模板。您可以手动编辑首次引导配置文件 /etc/YaST2/firstboot.xml,以适当调整此工作流程。该 XML 文件是标准 control.xml 文件的子集,YaST 使用后者来控制安装工作流程。请参见例 20.2 “配置工作流程部分”以了解有关如何配置工作流程部分的详细信息。

如需简要了解建议,请参见例 20.1 “配置建议屏幕”。此概述所提供的背景知识足够您用于修改 firstboot 安装工作流程。下面的示例说明了首次引导配置文件的基本语法(以及关键元素的配置方式)。

例 20.1︰ 配置建议屏幕
    …
    <proposals config:type="list">1
        <proposal>2
            <name>firstboot_hardware</name>3
            <mode>installation</mode>4
            <stage>firstboot</stage>5
            <label>Hardware Configuration</label>6
            <proposal_modules config:type="list">7
                <proposal_module>printer</proposal_module>8
            </proposal_modules>
        </proposal>
        <proposal>
        …
        </proposal>
    </proposals>

1

所有提议的容器都应是 firstboot 工作流程的一部分。

2

各条提议的容器。

3

提议的内部名称。

4

该提议的方式。不要在此处作任何更改。对于 安装,必须设置为 installationfirstboot。

5

调用此提议的安装过程阶段。不要在此处作任何更改。对于 安装,必须设置为 firstbootfirstboot。

6

提议上要显示的标签。

7

所有属于提议屏幕的模块的容器。

8

属于提议屏幕的一个或多个模块。

firstboot 配置文件的下一部分由工作流程定义组成。此处必须列出应为 firstboot 安装工作流程一部分的所有模块。

例 20.2︰ 配置工作流程部分
    <workflows  config:type="list">
        <workflow>
            <defaults>
                <enable_back>yes</enable_back>
                <enable_next>yes</enable_next>
                <archs>all</archs>
            </defaults>
            <stage>firstboot</stage>
            <label>Configuration</label>
            <mode>installation</mode>
            … <!–– list of modules  ––>
            </modules>
        </workflow>
    </workflows>
    …

workflows 部分与 proposals 部分的总体结构非常相似。容器包含工作流程元素,工作流程元素都包括和例 20.1 “配置建议屏幕”中所介绍的建议相同的阶段、标签和模式信息。最显著的差别是 defaults 部分,它包含工作流程组件的基本设计信息:

enable_back

在所有对话框中包含上一步按钮。

enable_next

在所有对话框中包含下一步按钮。

archs

指定使用该工作流程的硬件体系结构。

例 20.3︰ 配置工作流程组件列表
    <modules  config:type="list">1
        <module>2
            <label>Language</label>3
            <enabled config:type="boolean">false</enabled>4
            <name>firstboot_language</name>5
        </module>
    <modules>

1

所有工作流程组件的容器。

2

模块定义。

3

随模块显示的标签。

4

启用或禁用工作流程中该组件的开关。

5

模块名称。模块本身必须位于 /usr/share/YaST2/clients 下。

要更改 firstboot 安装过程中提议屏幕的编号或顺序,请按以下步骤操作:

  1. /etc/YaST2/firstboot.xml 处打开首次引导配置文件。

  2. 删除或添加提议屏幕,或更改现有提议屏幕的顺序:

    • 要删除整个提议,请从 proposals 部分去除 proposal 元素(包括其所有子元素),并从工作流程中去除相应的 module 元素(及子元素)。

    • 要添加新的提议,请创建新的 proposal 元素,并填入所有必需的子元素。请确保建议以 YaST 模块形式存在于 /usr/share/YaST2/clients 中。

    • 要更改提议的顺序,请在工作流程中前后移动包含提议屏幕的各个 module 元素。请注意,有些步骤可能依赖于其他安装步骤,需要提议和工作流程组件按特定顺序排列。

  3. 应用更改并关闭配置文件。

如果默认设置不能满足您的需求,您随时都可更改配置步骤的工作流程。启用或禁用工作流程中的特定模块(或添加您自己的自定义模块)。

要切换 firstboot 工作流程中模块的状态,请按以下步骤操作:

  1. 打开 /etc/YaST2/firstboot.xml 配置文件。

  2. enabled 元素的值从 true 更改为 false 可禁用该模块,从 false 更改为 true 可再次启用它。

    <module>
        <label>Time and Date</label>
        <enabled config:type="boolean">true</enabled>
        <name>firstboot_timezone</name>
    </module>
  3. 应用更改并关闭配置文件。

要向工作流程添加自定义模块,请按以下步骤继续:

  1. 创建您自己的 YaST 模块,并将模块文件 module_name.rb 存储在 /usr/share/YaST2/clients 中。

  2. 打开 /etc/YaST2/firstboot.xml 配置文件。

  3. 确定您的新模块要在工作流程的哪一点运行。这样做时,请确保已考虑并解决工作流程中对其他步骤的任何依赖关系。

  4. modules 容器中创建一个新的 module 元素,并添加适当的子元素:

    <modules config:type="list">
         …
         <module>
            <label>my_module</label>
            <enabled config:type="boolean">true</enabled>
            <name>filename_my_module</name>
         </module>
    </modules>
    1. label 元素中输入要在模块上显示的标签。

    2. 请确保 enabled 设置为 true,将您的模块包括在工作流程中。

    3. name 元素中输入您模块的文件名。省略完整路径和 .rb 后缀。

  5. 应用您的设置并关闭配置文件。

提示
提示:查找用于自动配置的已连接网络接口

如果目标硬件可以有多个网络接口,请将 network-autoconfig 软件包添加到应用程序映像。network-autoconfig 会逐个尝试所有可用的以太网接口,直到通过 DHCP 成功配置某个接口。

20.2.5 配置附加脚本

可配置 firstboot,使之在完成 firstboot 工作流程后执行其他脚本。要向 firstboot 序列添加其他脚本,请执行以下步骤:

  1. 打开 /etc/sysconfig/firstboot 配置文件,确保为 SCRIPT_DIR 指定的路径正确无误。默认值为 /usr/share/firstboot/scripts.

  2. 创建您的外壳脚本,将它保存在指定的目录中,应用适当的文件许可权限。

20.2.6 提供安装工作流程的翻译

根据最终用户,可能需要提供自定义工作流程的翻译。如果您按照第 20.2.4 节 “自定义工作流程”中所述通过更改 /etc/YaST2/firstboot.xml 文件自定义了工作流程,则可能需要提供这些翻译。

如果您更改了 /etc/YaST2/firstboot.xml 并引入了字符串更改,请生成新的翻译模板文件(.pot 文件),然后使用 gettext 工具链翻译该文件,最后将翻译的文件作为经过编译的 .mo 文件安装到 YaST 区域设置目录 (/usr/share/YaST2/locale) 中。按如下所示继续:

  1. 例如,将 textdomain 设置从

    <textdomain>firstboot</textdomain>

    更改为:

    <textdomain>firstboot-oem</textdomain>
  2. 使用 xgettext 将可翻译字符串提取到翻译模板文件(.pot 文件)中,例如提取到 firstboot-oem.pot 中:

    xgettext -L Glade -o firstboot-oem.pot /etc/YaST2/firstboot.xml
  3. 开始翻译过程。然后像打包其他项目的翻译内容一样打包这些翻译的文件(.LL_code.po 文件),并安装已编译的 firstboot-oem.mo 文件。

如果需要其他或已更改 YaST 模块的翻译,请在此类模块自身内提供翻译。如果更改了某个现有模块,请务必同时更改它的 text-domain 语句,以免产生意外的不利影响。

提示
提示:更多信息

有关 YaST 开发的更多信息,请参见 https://en.opensuse.org/openSUSE:YaST_development。有关 YaST 首次引导的详细信息可以在 https://doc.opensuse.org/projects/YaST/SLES11/tdg/bk09ch01s02.html 上找到。

20.3 克隆主安装

用您可以获得的任何映象机制复制主计算机磁盘,将映象转到目标计算机。有关映像的详细信息,请参见https://doc.suse.com/kiwi/

20.4 个性化安装

引导克隆的磁盘映像后,首次引导功能会启动,并且安装会完全按第 20.2.4 节 “自定义工作流程”中的安排继续。只有 firstboot 工作流程配置中包含的组件会启动。所有其他安装步骤都将跳过。最终用户可调整语言、键盘、网络和口令设置,以个性化工作站。此过程完成后,首次引导安装的系统的行为就会和 SUSE Linux Enterprise Server 的任何其他实例一样。