YaST 配置管理模块简介
YaST 配置管理是一个相对不为人知的模块,它诞生于 2016 年的一次研讨会,并在 Hack Week 14 期间进一步开发。其想法是使 AutoYaST 能够将部分职责委托给 Salt 或 Puppet 等配置管理系统。因此,AutoYaST 将负责初始安装(分区、软件安装等),然后将控制权交给这些系统进行进一步配置。
在 Hack Week 15 期间,该模块获得了对 SUMA Salt Parametrizable Formulas 的支持,后来又被适配到
在安装的第一个阶段运行。除此之外,该模块还根据需要接收了修复和次要更新。
但到 2018 年底,我们开始再次致力于该模块,以便
- 更新 SUMA Salt Parametrizable Formulas 的支持。
- 添加对 YaST Firstboot 的支持
- 改进文档(基本上重写了 README)。
在本文中,我们将回顾这些更改,当然也包括一些屏幕截图。如果您想亲自尝试这些功能,您需要安装 yast2-configuration-management 4.1.5 和 yast2-firstboot 4.1.5(或更高版本)。
更新 SUMA Salt Parametrizable Formulas 支持
自最初实现 SUMA Salt Parametrizable Formulas 支持以来,表单规范已经发生了很大变化,导致该模块过时。对新的数据类型、集合、条件等的支持都缺失了。
在新的 UI 设计方面,我们面临的主要问题是,在 YaST 中,我们必须考虑 80×24 的界面,并且我们的库中对滚动的支持非常有限。因此,我们需要组织信息,尽量减少超出空间的可能性。
上面的屏幕截图属于一个相当复杂的 dhcp 公式。在左侧,有一个树,您可以使用它来浏览公式。在右侧,YaST 显示一组用于输入公式参数的表单控件。
在处理集合时,YaST 会在弹出对话框中显示信息,如下所示。
您想自己尝试一下吗?没问题,但请记住,它可能会修改您的系统配置,因此在虚拟机中进行此类实验会更明智。
话虽如此,尝试该模块最简单的方法是从 OBS 获取一些公式 https://build.opensuse.org/project/show/systemsmanagement:Uyuni:Retail,安装它们,然后从 YaST 控制中心单击 YaST2 配置管理(在 杂项 部分)启动该模块。如果您是控制台爱好者,只需运行 yast2 configuration_management 即可。
添加 Firstboot 支持
YaST Firstboot 是一个模块,允许用户在首次启动时配置预安装的系统(因此得名)。它实现了一组 YaST 客户端 来执行不同的操作,例如设置语言、配置时区等。
如果您需要配置 YaST Firstboot 不支持的内容,您可以编写自己的客户端,从而拥有 YaST 的强大功能。或者,如果您更喜欢,可以使用 YaST 配置管理来运行配置管理系统。当然,您可以将此功能与对 SUMA Salt Parametrizable Formulas 的支持结合起来,以提供一个不错的 UI。
现在让我们看一个例子。YaST Firstboot 配置位于 /etc/YaST/firstboot.xml 中。该文件包含要使用的客户端列表以及其他设置。因此,如果您想使用 YaST 配置管理模块,您只需要将 firstboot_configuration_management 客户端添加到工作流程中即可。
<workflows config:type="list">
<workflow>
<stage>firstboot</stage>
<label>Configuration</label>
<mode>installation</mode>
<modules config:type="list">
<!-- other modules -->
<module>
<label>Finish Setup</label>
<name>firstboot_configuration_management</name>
</module>
</modules>
<!-- and more modules -->
</workflow>
</workflows>
此外,您可能对修改 firstboot_configuration_management 行为感兴趣。在这种情况下,您可以添加一个 <configuration_management/> 部分,其中包含相关的设置。好消息是,它使用 AutoYaST 支持的相同选项。假设我们想运行一些 Salt 公式
<configuration_management>
<type>salt</type>
<!-- Default Salt Formulas root directories -->
<formulas_roots config:type="list">
<formulas_root>/usr/share/susemanager/formulas/metadata</formulas_root>
<formulas_root>/srv/formula_metadata</formulas_root>
</formulas_roots>
</configuration_management>
或者您更喜欢通过主服务器运行 Salt 吗?
<configuration_management>
<type>salt</type>
<master>linux-addc</master>
<auth_attempts config:type="integer">5</auth_attempts>
<auth_time_out config:type="integer">10</auth_time_out>
<keys_url>http://keys.example.de/keys</keys_url>
</configuration_management>
寻求帮助
在过去的几周里,YaST 配置管理得到了极大的改进,新的 SUMA 公式支持打开了许多可能性。但是,现在我们需要您的帮助:如果您对该模块感兴趣,请查看它并尝试报告尽可能多的错误。我们知道它们就在那里,等着您去发现;-)。
谢谢!

