又到了从 YaST 前线发报告的时候。这次,除了这篇博客文章外,我们还准备了其他一些阅读材料,如果您对 YaST 开发或 Linux 技术细节感兴趣的话。

今天的主题包括

  • 关于 YaST 使用的一些考虑
  • AutoYaST 未来发展的一个预览,包括一篇完整的博客文章
  • YaST 分区程序的一个 UI 设计竞赛
  • 更好的 LVM 缓存兼容性
  • 关于磁盘组合和 Linux 中 VFAT 的 Unicode 支持的有趣研究
  • SUSE Manager 分区建议的显著加速
  • YaST 和相关项目在 Leap 15.2 中的增强功能的总结

更棒的是,这些主题中的许多都包含对我们忠实用户和贡献者的行动号召。

展望未来

让我们从一个技术上但相当重要的细节开始。在我们的最新冲刺中,我们在 YaST Git 仓库中创建了一个新的 SLE-15-SP2 分支,这意味着现在 master 分支再次开放,用于更具创新性的功能。

Git branching

从开发角度来看,这是一个重要的里程碑,因为它标志着团队确认 15.2 基本上已经完成,并表现出专注于中期和长期未来的意图。之前的博客文章都集中在描述将在即将发布的 SUSE Enterprise Linux 15 SP2 和 openSUSE Leap 15.2 中出现的功能和修复。从现在开始,您将阅读更多关于进入 openSUSE Tumbleweed 和 Leap 15.3(当然也包括 SLE-15-SP3)的更改内容。

了解 YaST 的使用情况

为了为未来做出决策,我们想知道 YaST 模块的使用频率以及哪些模块对用户来说最重要。但这并不容易,因为 YaST 不收集任何数据,我们收到的唯一反馈是错误报告和功能请求。

在本次冲刺中,我们尝试通过从变更日志中收集错误和功能数量来收集一些数据。我们尚未分析这些数据,但似乎我们实现的功能越多,收到的错误报告也越多。:smiley: 请参阅 此 gist 以获取详细信息,并随时提出任何其他可用于分析不同 YaST 模块和组件相关性的系统。

现代化 AutoYaST

有一点我们可以肯定的是,AutoYaST 对于许多 SUSE Linux Enterprise 和 openSUSE 用户来说至关重要。坦率地说,我们久经考验的无人值守安装程序正在显露出它的年龄。这就是为什么 AutoYaST 在 YaST 团队的中期目标中占据优先地位。计划为 SLE 15 SP3 和 openSUSE Leap 15.3 推出改进的 AutoYaST,如果它们足够重要,某些修复程序可以回溯到 SP2 和 15.2。

在本次冲刺期间,我们开始从我们的用户和 SUSE 的同事那里收集一些反馈。此外,我们还研究了 AutoYaST 的当前状态,以便确定需要更多关注的领域。我们将所有结论汇集到 一篇单独的博客文章 中。如果您对 AutoYaST 的未来会带来什么感兴趣,请查看它。

现在我们已经开始了新的开发冲刺,有一场正在进行中的讨论可能对您感兴趣,内容是关于 AutoYaST 工具的。请查看 yast-developensuse-autoinstallopensuse-factory 邮件列表,不要犹豫参与讨论。我们很乐意听取您的意见。

专家分区程序:Leap 15.3 及以后

如果您不是 AutoYaST 用户,也不用担心。YaST 团队仍然有其他领域需要您的投入。YaST 分区程序的界面已经达到了难以处理的地步,我们需要找到前进的方法。

The YaST Partitioner

作为第一步,我们创建了 此文档,解释了问题,并希望它可以用作讨论分区程序界面未来的基础。

这是 YaST 未来的一个非常重要的话题。欢迎所有想法。请随时加入 邮件线程,为文档创建拉取请求,在 Freenode 的 #yast IRC 频道上讨论该主题……无论对您有效即可。

识别 LVM 缓存

我们还决定现在是时候引入一些相对较大的更改到 libstorage-ng(YaST 用于管理存储设备的库)中,旨在提高 YaST 与一些高级 LVM 功能的兼容性。

一年多来,YaST 一直支持设置和使用 bcache 以通过使用 SSD 作为缓存来加速旋转磁盘。但这并不是唯一可以用于此目的的技术。一些用户更喜欢使用 LVM 缓存而不是 bcache,因为它已经存在了更长的时间,并且它提供了一些不同的功能。

YaST 不能用于设置 LVM 缓存系统,而且我们不计划使其成为可能。此外,在 SLE 或 openSUSE 中从 LVM 缓存启动目前不起作用。但给予用户选择的自由一直对 (open)SUSE 和 YaST 来说很重要。

为了帮助使用 LVM 缓存的客户,YaST 现在可以识别这种设置并在专家分区程序和 YaST 的许多其他部分中正确显示它。在 openSUSE Tumbleweed 中将不再显示以下警告。

Old pop-up for LVM cache

相反,将能够正常使用这些逻辑卷进行挂载、格式化等操作。修改它们的能力仍然会受到严格限制,并且将无法创建新的 LVM 缓存卷。

我们计划为其他类型的先进 LVM 卷提供类似的有限支持级别。敬请关注更多新闻。

VFAT 文件系统和 Unicode

说到存储技术,我们还在 SLE 和 Leap 的未来版本中引入了一个小的更改,用于管理 VFAT 文件系统(在 15.2 之后)。一段时间以来,我们一直希望在挂载 VFAT 文件系统时停止使用 iocharset=utf8 而改用 utf8,因为这是 内核文档 中的建议。

还有 此错误,导致避免为 EFI 系统分区使用 iocharset=utf8(因为 iocharset=utf8 意味着文件名区分大小写)。

我们借此机会进行了一些实验,甚至查看了 Linux 内核的源代码,以了解真正发生了什么。为什么 utf8 如此特殊,可能会出错的是什么?

如果您想知道这些 VFAT 字符集相关选项的含义以及 VFAT 文件名在 Linux 中是否真的像在 Windows 中一样不区分大小写,请查看 此文档,我们已经创建了它。

虽然 SLE-15-SP2 和 openSUSE Leap 15.2 仍然会使用传统的挂载选项,但新的方法(utf8 用于所有 VFAT 文件系统)将在几天内登陆 Tumbleweed,就像往常一样。

而且,既然我们已经在研究存储技术,为什么还要停下来呢?

多设备设备中块大小的混合

由于最近 libstorage-ng 中的一个错误,该错误被追溯到 RAID 设备块大小问题,YaST 团队花了一些时间对该主题进行一般研究。

如果您曾经想知道将具有不同块大小的磁盘组合到 RAID、LVM、BCACHE 或 BTRFS 中会发生什么,请查看我们的 文档

在大多数情况下,YaST 和 libstorage-ng 已经很好地管理了这种情况。但我们发现,在某些情况下,我们需要特殊处理某些情况,特别是为了指导我们的用户,以免他们陷入陷阱。但这又是另一个故事……留给未来的开发冲刺。

SUSE Manager 的更快分区建议

本次冲刺期间进行的所有更改和改进并非都针对中期和长期目标。我们也有时间在即将发布的 SLE 15 SP2 中引入一些改进。确切地说,在 SUSE 专门用于管理软件定义的基础设施的相应版本的 SUSE Manager 中。

我们很久以前就写了 这篇单独的博客文章,以介绍我们为允许 SUSE Manager(和其他产品)为用户提供量身定制的体验而开发的一些特殊分区引导设置功能。

SUSE Manager Guided Setup

但我们知道这些功能中的一些在我们的分区建议中存在严重性能问题,影响了初始建议,也就是说,安装程序在用户有机会影响结果或选择要使用的磁盘之前创建的建议。

SUSE Manager 版本的 SLE 15 SP2 将最终引入两个使用新建议的系统角色(都由“多磁盘”标签标识),因此终于到了解决这些性能问题的时候了。

我们确实改进了情况!如果您想了解更多信息,此拉取请求 包含许多详细信息和一些基准测试的结果。让我们简单地说,在某些最坏的情况下,我们设法将计算初始建议所需的时间……从几个小时减少到半秒!

总结 Leap 15.2 将带来什么

正如我们的常客所见,YaST 开发人员的生活远不止于编写代码。在每个 openSUSE Leap 版本发布时,我们都会回顾几个月的努力,并戴上销售帽,总结 YaST 及其相关项目的所有很棒的补充内容。

在这方面,我们一直在帮助 openSUSE 营销团队塑造 openSUSE Leap 15.2 的发布公告。您将不得不等待阅读完整的文档,但与此同时,您可以查看我们为“Snapper”、“YaST”和“AutoYaST”部分添加的内容 Leap 15.2 功能页面。这是一个 wiki,所以请随时添加我们可能遗漏的任何重要要点。

走向无限远

许多有趣的话题呈现在 YaST 团队面前。所以现在是时候让我们回到日常工作了。与此同时,请享受所有阅读内容,并随时参与对话、改进 wiki 页面或以任何其他方式参与其中。

祝您玩得开心!