内容
经过一段时间的默默工作(我们的 上一篇博客文章 发布于一个月前),YaST 团队带着有关最新开发冲刺和一些 Hack Week 实验的最新消息回来了。这些新闻包括
- 在 Windows Subsystem for Linux 上启用 YaST
- 在线搜索、分区程序和 Kdump 模块的可用性改进
- 更好地控制被覆盖的
sysctl配置值 - 改进了即将发布的 SLE 15 SP2 安装程序的默认选择
- zSeries 大型机的新功能,例如安全启动和 I/O 设备自动配置
- 此外,作为奖励,还有几个与 YaST、Ruby 和 Crystal 相关的 Hack Week 项目
所以,正如你所看到的,我们的菜单上应有尽有,从 WSL 到大型机,从新功能到小的可用性改进,从安装到系统微调……所以让我们深入了解细节!
改进了与 WSL 的兼容性
你听说过 WSL,Windows Subsystem for Linux 吗?说实话,在这次冲刺之前,我们也没有太关注它。但是,由于 openSUSE Leap 和 SUSE Linux Enterprise (SLE) 都通过 WSL 镜像提供给 Windows 用户,并且两者的 15.2 版本都即将发布,我们决定是时候深入研究 WSL,研究它的工作原理以及 YaST 如何在其中发挥作用。
感谢 openSUSE Wiki 上的 优秀文档,在 WSL 环境中设置一个 (open)SUSE 测试系统轻而易举。
由于并非所有内容都可以从 Linux 系统本身配置,并且 systemd 不可用(我们这里只讨论 WSL1),因此 YaST 的许多组件在 WSL 中无用。但是,在首次运行 (open)SUSE 镜像时,YaST 对于系统的初始设置仍然非常有用。它可以用于设置第一个用户,确认许可证,并且在 SLE 的情况下,还可以注册系统。YaST 的软件管理模块也可以非常方便地在初始设置后随时自定义镜像。
到目前为止,我们已经进行了三项更改,以改善 YaST 在 WSL 中的执行体验。
- 我们通过在 systemd 不可用时删除对 systemd 的调用来加快了初始启动速度。
- 我们修复了 YaST Firstboot 的注册过程。
- 我们实施了一项功能,以显式标记在 WSL 中工作的 YaST 模块,并在 YaST 控制中心仅显示这些模块。
我们还在此 文档 中记录了我们关于 WSL 的所有发现。
一如既往,我们渴望获得反馈。请与我们联系,告诉我们您在使用 WSL 中的 YaST 时的体验以及您最想看到哪些模块。
改进在线搜索的 UX
正如我们 宣布 的一个月前,YaST 将提供一种通过所有 SUSE Linux Enterprise 模块搜索软件包的机制,即使它们未注册。此功能,称为在线软件包搜索,已经可以使用 zypper 的 search-packages 命令或通过 SCC 网页界面 使用。
在冲刺评审会议期间收集到一些反馈后,我们决定投入一些时间来改进整体 UX 体验。也许最重要的变化是新的摘要屏幕,它显示了要激活的模块和要安装的软件包的列表。
此外,我们改进了错误处理,顺便说一句,我们修复了区分大小写的过滤器。
……以及分区程序
在线搜索并不是 YaST 中在 UX 领域获得一些关注的唯一部分。我们还尝试通过 openSUSE 的 Bugzilla 从我们的用户那里获得反馈来改进分区程序的可用性。
另一方面,我们收到了一份报告,称此对话框对于低屏幕分辨率来说太长,无法正确显示。
结果在分辨率为 80 列和 24 行的文本控制台中更糟,这是我们设计所有 YaST 屏幕以使其正常工作的最小尺寸。
因此,我们删除了一些过时的选项并使其他选项更紧凑。现在该对话框再次适合 24 行。
而且,如你所见,它在图形模式下看起来也更好(或者至少不那么让人不知所措)。值得一提的是,我们还利用这个机会修复了其他具有类似问题的相关对话框。
另一方面,我们还收到了一份报告,称在分区程序左侧的设备树中选择设备时,总是跳转到第一个选项卡有多么不方便,迫使用户一遍又一遍地单击“分区”选项卡(或任何其他所需的选项卡)。
在这方面,并且如你所记得,几轮冲刺前 我们使概述屏幕可操作,避免导航到设备页面只是为了对它执行一个简单的操作。但是,在不同的设备之间来回导航仍然是可能的并且很有用。现在,只要可能,这种导航通过记住每个部分或设备的最后选择的选项卡和行来改进,这将节省你在使用多个设备时进行大量点击。
与此相关,我们启动了一次公开讨论,讨论首次访问设备时应该选择哪个默认选项卡。再次,我们期待您的意见。因此,如果您阅读了该主题并为讨论做出贡献,我们将不胜感激。
显示 Kdump 配置的建议值
但是分区程序并不是我们用户通过 Bugzilla 指出可用性问题的 YaST 模块的唯一一个。在从 openSUSE Leap 42.3 迁移到 15.0 之后,Kdump 的工作方式发生了一些变化,结果表明使用 YaST 重新调整值并不像它应该的那样有用。YaST Kdump 显示了内存预留的当前大小,以及最小值和最大值。但是,它没有显示当前系统推荐的默认值,因此,如果用户过去已经调整了限制,那么就无法从 YaST 获得针对当前系统计算的最新建议。
我们调整了对话框以显示这些建议值。如你所见,我们还利用这个机会扩展了帮助文本,以解释不同值的含义。
更好地控制被覆盖的内核参数值
并且谈到我们逐步改进的 YaST 部分,你可能还记得 我们冲刺 86 的报告,我们正在调整 YaST 以处理新的 sysctl 配置结构。
到目前为止,YaST 主要将 sysctl 值存储在 /etc/sysctl.conf 和 /etc/sysctl.d/70-yast.conf 中。但这只是存储这些值的可能性的一部分。事实上,还有许多其他位置可以存储这些设置:/run/sysctl.d、/etc/sysctl.d、/usr/local/lib/sysctl.d、/usr/lib/sysctl.d、/lib/sysctl.d、/etc/sysctl.conf……
现在 YaST 也处理这些位置,并告知用户是否存在一些冲突的值,如以下屏幕截图所示。
默认预选的 SLE 模块
我们还投入了一些时间来平滑即将发布的 openSUSE 15.2 和 SLE 15 SP2 的安装过程中的一些粗糙边缘。例如,如果在安装期间注册您的 SLE 15 产品,您将看到以下对话框中可用的模块和扩展。其中一些默认情况下是预先选择的,因为它们包含基本系统组件(内核、glibc……)或产品特定的软件包(例如,SLE Desktop 的 GNOME)。
但是,如果您跳过注册并使用 DVD 介质上的软件包,则没有预先选择任何模块或扩展。问题是有关默认模块的信息仅在 SCC 数据中可用,显然这在离线安装中不可用。
在 SLE 15 SP2 中,我们将这些额外信息添加到安装程序配置文件中,因此现在即使在离线安装中,YaST 也可以预先选择每个产品的默认模块。
在安装期间提出 NTP 服务器
并且谈到为安装提供合理的默认值,我们还改进了 NTP 服务器配置的情况。对于基于 openSUSE 的系统(包括 Kubic)和一些 SUSE 产品,例如 CaaSP 或 SLE High Performance Computing,YaST 在安装期间设置 NTP 守护程序。YaST 尝试通过 DHCP 信息确定要使用的服务器,但是,如果不可用,它将从 openSUSE 和 SUSE 存储库中提出一个(例如,n.opensuse.pool.ntp.org,其中 n 是 0 到 3 之间的数字)。
但是,我们仍然对基于 SUSE 的产品使用 novell.pool.ntp.org 存储库。在此冲刺期间,我们切换到 suse.pool.ntp.org 服务器存储库,此外,我们重构了一些代码以减少重复并提高可测试性。
IBM zSeries 的安全启动支持
你可能已经注意到最近的冲刺报告表明我们正在改进与 zSeries 大型机的安装和配置相关的几个方面。这个冲刺也不例外……并且在这一点上肯定不会是最后一个。
作为这项工作的结果,YaST 现在支持最新 zSeries 机器上发现的安全启动功能。它与现有的 UEFI 安全启动非常相似,因此我们有机会统一不同架构中发现的安全启动处理。
这意味着如果你的 zSeries 机器具有安全启动支持,你将获得此复选框。
此外,我们还在安装摘要屏幕上添加了一个快捷链接,只需单击一下即可启用安全启动。
如前所述,我们有机会统一所有平台上的安全启动管理,因此这个新的快捷链接也适用于具有 UEFI 安全启动的 x86_64 或 aarch64 机器。
zSeries 中 I/O 设备的自动配置
并且谈到 zSeries 大型机,任何使用过这些系统中的 Linux 的人都知道,输入/输出设备,例如磁盘或网卡,必须在被操作系统正常检测和使用之前进行配置和激活。
但是,由于新的 I/O 设备自动配置机制,用户现在可以指定应自动在 Linux 中启用的 I/O 设备的 ID 和设置。我们修改了安装程序以检测此类配置并触发相应的配置操作,从而消除了在安装过程中手动激活磁盘和网络设备的需要。
这仍然是一项实验性功能,我们正在等待反馈以确保当前的实现适用于所有期望的场景。如果一切按预期进行,该功能将在 SLE 15 SP2 中首次亮相。
Hack Week
正如在文章开头所说,花费将近一个月才发布任何报告的主要原因是 SUSE 的整个 YaST 团队正在深入研究完全不同的主题,因为 Hack Week 19 的主题是“简化、现代化和加速”。
在本届 Hack Week 中与 YaST 相关的项目不多,但至少有两个可能对 YaST 粉丝和贡献者感兴趣。幸运的是,我们已经在 yast-devel 邮件列表中发布了关于它们的报告。因此,请查看“通过将 YaST 的一部分移植到该语言来学习 Crystal”和“YaST 日志分析器”的结果。
更多内容即将到来
现在我们已经恢复到正常的开发节奏,我们应该在几周内有更多关于 YaST 开发的最新消息。计划是专注于修复即将发布的 openSUSE Leap 和 SUSE Enterprise Linux 的错误,但我们确信仍然会找到有趣的信息供你参考。
与此同时,请通过常用渠道与我们保持联系,并玩得开心!









