我们正处于重写, 重构将 YaST 全部重新编译成 Visual Basic 的过程中,当我们发现已经是 4 月 2 日时,不得不放弃整个项目。明年再试。所以你得到的是企业级稳定性的报告,我们希望你的服务器运行我们的软件时会非常无聊。
安装和升级
更清晰的迁移目标描述
生活有各种道路,SLE 的生命周期也是如此。SLE15 现在被拆分为多个模块,在升级过程中选择期望的升级目标可能非常复杂。我们必须对这个问题做出反应,因为客户开始抱怨升级概述越来越难以理解,我们应该改进它。所以我们做到了,现在你可以查看附带屏幕截图中的更改。我们修改了概述标签,从列出所有产品改为仅显示摘要,详细信息显示如下。请注意,在未来,对于某些产品或扩展/模块,可能会有更多的迁移目标。
旧截图
和新的截图(针对略有不同的系统,因此与之前的截图不完全匹配)
在升级时导入 SMT 服务器 SSL 证书
我们仍在改进和修复从 SLE11 或 SLE12 产品到新的 SLE15 系列的迁移中的错误。本冲刺中修复的一个问题是在升级时从旧系统导入 SSL 服务器证书。
为了注册,你可以使用本地 SMT 服务器(Subscription Management Tool)而不是通常的 SCC 服务器(SUSE Customer Center)。
SMT 服务器通常使用自签名 SSL 证书来节省购买由知名证书颁发机构签名的真实证书的费用。此自签名证书在初始注册期间由 YaST 导入到系统中,以便可以正确访问注册过程和服务器上的存储库。
但在离线升级到 SLE15 时,旧系统未运行,安装程序从安装介质运行。在这种情况下,我们需要从旧系统导入 SSL 证书到安装程序,以便它可以正确访问注册服务器并执行升级。
证书导入非常简单,我们只需要小心,因为 SLE11 使用与 SLE12 或 SLE15 不同的(旧的)路径来存储导入的证书。
因此,你现在应该能够升级注册到 SCC 服务器的系统,以及注册到你的本地 SMT 服务器的系统。
许多系统角色
我们能够安装的各种产品已经发展了如此多的预设组,称为系统角色,以至于它们不再适合屏幕。我们应用了一些深灰色魔法,使它们适应可滚动的框,代价是失去了键盘快捷键,很抱歉。
存储
更好的多路径(和其他)问题消息
在扫描存储硬件时,或在稍后操作存储硬件时,总有可能发现系统中的问题,这些问题使继续安装或执行 YaST 非常困难。在这种情况下,storage-ng 的先前版本会向你显示一个弹出消息,其中包含有关发生什么错误的某些技术详细信息(例如,失败的命令及其输出),以及中止 YaST 或继续尽管出现错误的选择。
但我们发现,在某些情况下,我们可以更好地尝试理解发生了什么错误并向你解释它,而不是直接显示这些原始技术详细信息。一个明显的例子是两次找到相同的 LVM 物理卷,这永远不应该发生。除了重影问题(libstorage-ng 不喝酒)之外,最可能的原因是 多路径系统 未被正确检测到,因此每次连接到磁盘都会被检测为不同的磁盘,在 YaST 的眼中复制内容。
现在会检测到这种情况并向你解释,建议使用 LIBSTORAGE_MULTIPATH_AUTOSTART(参见 linuxrc 文档)或 AutoYaST 配置文件中的相应条目(如果已使用)。顺便说一下,在本冲刺期间,我们还指示 storage-ng 了解 LIBSTORAGE_MULTIPATH_AUTOSTART,因为它过去会忽略该古老的 libstorage 修饰符。
技术细节仍然可以在“详细信息”按钮下找到,如你所见。它们只是不首先显示,这应该使整个体验对经验较少的用户来说不那么令人望而却步。此更改适用于 storage-ng 的三个关键阶段发现的所有严重错误:硬件激活、系统探测和提交(创建分区和其他设备时)。
当然,新的弹出消息完全支持 AutoYaST。根据执行哪个阶段,自动选择最合适的默认选项(继续或中止),并且如果 AutoYaST 配置为显示弹出消息,则在执行此选择之前会显示通常的倒计时。请参阅 AutoYaST 中新的通用错误(针对不同的、未识别的问题)的操作示例。
AutoYaST 现在能够重用加密设备
如你所知,AutoYaST 在分区方面非常灵活,我们仍在编写与新存储层相关的最终代码。这一次,我们正在教 AutoYaST 如何正确重用加密设备。
但是,实现并不那么简单,因为硬件探测甚至在分析配置文件中的分区部分之前就会发生。并且,在某些情况下,不清楚应该使用哪个密钥来解锁设备(例如,这可能发生在定义了多个加密密钥时)。为了解决这个问题,AutoYaST 将尝试在所有加密设备上使用所有定义的密钥,直到找到可用的密钥为止。
当然,这种行为现在已在 AutoYaST 手册中正确记录。
杂项
修复了 AutoYaST 配置文件验证问题
在之前的 博客条目 中,我们已经提到 SLE12 和 SLE15 配置文件之间存在重大变化,这些变化已记录在此 附录 中。
手动调整配置文件很常见,这容易出错,有时也很难仅通过运行安装并深入查看日志来识别错误。这就是为什么建议使用 xmllint 或 jing 进行配置文件验证(更多信息 此处)。
在本冲刺期间,我们修复了安装后克隆配置文件存在的一些验证错误。
翻译问题
我们收到很多关于翻译的错误。通常的问题是某些文本根本没有翻译,并且显示原始英文文本。在本冲刺中,我们修复了该领域的几个问题,其中两个值得在博客中分享。
XSL 文件格式
第一个问题是报告 SLES4SAP 产品中角色描述中缺少翻译。SLES4SAP 安装基本上就像标准的 SLES 安装一样,只是更改了几个默认值。为了避免重复并使 SLES4SAP 维护更容易,我们只需获取原始 SLES XML 控制文件,该文件描述了安装程序的行为和默认值,并使用 XSL 转换 将其更改为结果 SLES4SAP 安装程序控制文件。
结果表明,缺少翻译的角色位于该 XSL 文件中。不幸的是,YaST 不支持从 XSL 文件中提取可翻译的字符串。但是,我们支持 XML 文件中的翻译,因为 XSL 文件实际上是有效的 XML 文件,我们可以轻松地扩展 YaST 中的翻译支持以涵盖 XSL 文件。因此,现在 SLES4SAP 角色已正确翻译。
缺少 textdomain 调用
我们修复了几个缺少翻译的错误,这些错误是由代码中缺少 textdomain 调用引起的。此调用定义了应加载和搜索翻译的 POT 文件。如果 YaST 代码不使用此调用,那么显然无法翻译任何文本,因为 YaST 不知道应该使用哪个 POT 文件,并且无声地使用了原始未翻译的文本。
这意味着很难找到为什么某些文本没有翻译。而且,由于这是一个常见的错误,我们有一个很好的想法来通过将警告记录到 YaST 日志中来改进这种情况,其中包含无法翻译的精确消息。更重要的是,日志现在还包含尝试错误地使用翻译的代码位置。请参阅 拉取请求 以获取更多详细信息。
与 openQA 团队讨论了向 openQA 添加一个新的检查,该检查将扫描 YaST 日志以查找此特定警告并报告问题。这意味着我们不应该在将来忽略这个重要的警告。





