YaST 初次启动
初次启动配置
YaST 初次启动实用程序是一种特殊的配置工作流程,可以在基本系统安装后运行。它在系统的首次启动时启动,并引导用户完成一系列步骤,以便更轻松地配置他们的桌面。
YaST 初次启动默认情况下不运行,必须由用户或系统管理员配置才能运行。它对于镜像部署非常有用,其中镜像中的系统已完全配置(请参阅:,SUSE Studio,KIWI)。但是,必须创建一些最终步骤,例如 root 密码和用户登录,以个性化系统。
典型用法也与 OEM 预加载一起使用,其中供应商提供带有预配置系统的硬件,用户在首次启动时完成其余操作。
启用初次启动
初次启动默认情况下处于禁用状态。要在机器上启用初次启动配置序列,必须
- 安装 yast2-firstboot 包。根据您的安装方法,这意味着将该包添加到要安装的包列表中(例如,对于 AutoYaST)或作为安装镜像的一部分。
- 创建空文件 /var/lib/YaST2/reconfig_system。如果此文件在系统启动时存在,则将启动初次启动配置序列。YaST Firstboot 在配置完成后会删除该文件。
此外,如果您希望将初次启动序列翻译成另一种语言,还必须包含/安装翻译包。这些是 yast2-trans-*, 例如 yast2-trans-de.rpm 用于德语。
自定义 YaST 初次启动
有两个主要文件控制 Firstboot 的行为:firstboot 控制文件 (firstboot.xml) 和 sysconfig 文件 /etc/sysconfig/firstboot。控制文件定义了应包含在您的配置序列中的步骤,在 sysconfig 文件中,可以定义自定义消息和各种文件的路径。
除了这些文件之外,YaST Firstboot 还尊重 /etc/install.inf 中有意义的设置,用于初次启动场景。
自定义消息
在 sysconfig 文件中可配置的文本主要是显示为欢迎文本的文本(使用 FIRSTBOOT_WELCOME_DIR 值)- 最重要的是 - 在许可协议屏幕上显示的文本。对于许可文本,有 sysconfig 变量 FIRSTBOOT_LICENSE_DIR 和 FIRSTBOOT_NOVELL_LICENSE_DIR。
许可文本是从 'license.txt' 或 'license_<locale>.txt' 文件读取的。Novell 基本产品的许可文本默认安装到 /etc/YaST2/licenses/base/ 目录中 - 如果它们位于其他位置,可以为 FIRSTBOOT_NOVELL_LICENSE_DIR 设置不同的值。使用 FIRSTBOOT_LICENSE_DIR 指示包含供应商许可文本的目录;最好将这些许可文本放在 /etc/YaST2/licenses/ 的另一个子目录中。
请注意,变量 FIRSTBOOT_NOVELL_LICENSE_DIR 的名称并不意味着它必须显式指向 Novell 许可:使用两个不同的许可目录是为了区分任何两个许可文本。
要在一个对话框中显示两个许可文本(通常是来自供应商和 Novell 的),请在 firstboot.xml 文件中使用 'firstboot_license_novell' 步骤。此客户端将使用 FIRSTBOOT_LICENSE_DIR 和 FIRSTBOOT_NOVELL_LICENSE_DIR 指定的许可文本。
自定义工作流程
可以使用与控制完整安装的 control.xml 文件相同的语法,使用单个文件来控制默认的 firstboot 工作流程。firstboot 控制文件由工作流程和提案配置组成,可用于根据系统的最终配置添加或删除配置屏幕。文件 firstboot.xml 与 yast2-firstboot 包一起安装,可以在以下位置找到:/etc/YaST2/firstboot.xml。
可以修改此文件以匹配所提问产品的安装后要求。除了默认的和预安装的组件之外,还可以添加自定义屏幕以在安装后实现最大的灵活性。
在以下 firstboot 控制文件的简单示例中,只有三个步骤是工作流程的一部分:语言和键盘、欢迎和 Root 密码(禁用语言步骤)。请注意 'name' 部分的值:这指向将在特定步骤中调用的 ycp 文件,例如对于 'firstboot_language_keyboard',它将是文件 /usr/share/YaST2/clients/firstboot_language_keyboard.ycp 等。
<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>
<modules config:type="list">
<module>
<label>Language and Keyboard</label>
<enabled config:type="boolean">true</enabled>
<name>firstboot_language_keyboard</name>
</module>
<module>
<label>Language</label>
<enabled config:type="boolean">false</enabled>
<name>firstboot_language</name>
</module>
<module>
<label>Welcome</label>
<name>firstboot_welcome</name>
</module>
<module>
<label>Root Password</label>
<enabled config:type="boolean">true</enabled>
<name>inst_root</name>
</module>
</modules>
</workflow>
</workflows>
这是上述序列的第一个对话框
查看随 yast2-firstboot 包一起提供的示例 firstboot.xml 文件以获取更多可用步骤。另请查看 控制文件文档 以获取有关自定义的更多详细信息(例如,如何自定义外观和感觉)。
与其修改默认的 /etc/YaST2/firstboot.xml 文件,不如将其放在不同的位置并更改 /etc/sysconfig/firstboot 中 FIRSTBOOT_CONTROL_FILE 变量的值来指定其路径。
YaST 初次启动配置
如上所述,/etc/install.inf 的某些设置在初次启动场景中可能很有用。例如,将 "Textmode: 1" 添加到该文件将强制 YaST Firstboot 使用 ncurses 界面。请参阅 相应文档 以获取所有可用选项(尽管并非所有选项对于 YaST Firstboot 用例都有意义)。
自定义脚本
并非所有内容都可以通过已准备好的步骤来实现,并且通常不需要编写自己的 ycp 对话框。
您可以添加在初次启动配置结束时执行的 shell 脚本。脚本应放置在 /usr/share/firstboot/scripts 或 /etc/sysconfig/firstboot 配置文件的 SCRIPT_DIR 变量可以设置的自定义位置中。脚本按其名称的字母顺序执行。
AutoYaST 支持
可以将初次启动过程配置为自动安装的一部分,以便通过 配置文件设置大部分默认值来安装系统,并将其余部分留给首次启动序列中的最终用户。
作为自动安装配置的一部分,您需要提供上述所有更改
- 自定义 /etc/sysconfig/firstboot:可以通过 AutoYaST 配置模块的系统部分中的 Sysconfig Editor 来完成。
- 提供自定义的 firstboot.xml 文件,并在 /etc/sysconfig/firstboot 的 FIRSTBOOT_CONTROL_FILE 值中指向其位置。
- 启用 Firstboot:通过 AutoYaST 配置模块的 Misc/Firstboot 部分中的 GUI 完成,或手动通过添加该部分
<firstboot> <firstboot_enabled config:type="boolean">true</firstboot_enabled> </firstboot>
到您的 AutoYaST 配置文件。
参见
各种系统配置和/或部署方式
要开发您自己的 firstboot 步骤,请阅读 YaST 文档。
本文基于与 yast2-firstboot 包一起提供的文档,并位于 /usr/share/doc/packages/yast2-firstboot 下。该文档提供了更详细的信息,这里只是最重要的部分的选择。
