随着 openSUSE Conference 2019 的临近,YaST 团队仍在忙于不仅修复即将发布的 (open)SUSE 版本中的小错误,还在致力于后续版本的功能和更改。

虽然本次冲刺背后还有更多的工作,但我们将在本报告中回顾这些更改

  • YaST 网络重构的首个部分已提交到 factory。
  • AutoYaST 现在支持以合理的方式指定 NFS 共享。
  • 分区器的树形行为得到了改进。
  • Libyui 已更新以支持 Qt 5.13(请不要错过本报告中的截图)。
  • 安装程序不再为仅文本系统角色提供启用自动登录的选项。

但这还不是全部。我们有一些令人兴奋的消息关于 *LibYUI 测试框架*,希望它能减少未来维护 YaST openQA 测试的麻烦。如果您感兴趣,我们几天前发布了一篇 单独的文章,其中包含有关此主题的所有详细信息。

提交 YaST 网络重构的首个部分到 Factory

yast2-network 4.2.2 是包含正在进行重构工作的部分代码的第一个版本。正如我们在上次报告中宣布的那样,我们才刚刚开始,前方还有很长的路要走,但您已经可以在路由管理区域看到一些成果。

除了清理和改进代码库质量外,我们还在修复一些错误并在此过程中引入一些小的增强功能。例如,版本 4.2.2 允许拥有多个默认路由,并且不会删除它们的额外选项。

New network routing dialog

如果您想了解更多关于该过程的详细信息,您可能会对我们几天前添加到存储库中的 kickstart 会议记录 感兴趣。

自动安装到 NFS 共享:合理的方式

在之前的冲刺中,AutoYaST 重新获得了安装到 NFS 共享的能力。该功能在 SUSE Linux Enterprise 12(和 openSUSE 42.x)中可用,但由于多种原因,我们在重新实现 (open)SUSE 15 的新存储堆栈时忽略了它。

旧版本中此功能的缺点,除了完全没有文档外,是它需要使用一些技巧和无效的 AutoYaST 配置文件。因此,我们重新设计了 AutoYaST 配置文件中描述 NFS 驱动器的方式。使用新格式,我们为每个 NFS 共享都有一个驱动器部分,例如:

<partitioning config:type="list">
  <drive>
    <device>192.168.1.1:/exports/root_fs</device>
    <type config:type="symbol">CT_NFS</type>
    <use>all</use>
    <partitions config:type="list">
      <partition>
        <mount>/</mount>
        <fstopt>nolock</fstopt>
      </partition>
    </partitions>
  </drive>
</partitioning>

虽然为了保持向后兼容性,旧格式仍然受支持,但我们现在鼓励您使用新格式。当然,此功能将在官方 (open)SUSE 15 文档中得到适当的记录。

不再为仅文本系统角色提供自动登录

自动登录是大多数现代显示管理器(KDM、GDM、SDDM、LightDM)提供的为家庭用户提供的便利功能。用户报告称 YaST 也为“服务器(仅文本)”系统角色提供了此功能,这没有意义,因此我们修复了它。

又一个 Qt 版本

这实际上不是什么大事;我们用于 YaST 图形版本的 Qt 库又有了一个新版本。现在是 Qt 5.13,我们需要调整一些在同时变得过时了的函数。幸运的是,Qt 总是为它过时的东西提供即插即用的替代品,因此这主要是通过警告来机械地完成任务,这些警告是关于现在过时的函数或类,并用新的对应物替换它们。

但是我们已经做了多久了?实际上已经相当长的时间了;这一切始于 1999 年底的 Qt 2.x,用于 SuSE Linux 6.3。那是第一个 YaST2。它已经同时具有带有图形用户界面的 Qt 版本和仅文本(NCurses)版本。

SuSE Linux 6.3 Installer

当时我们比当时的 KDE 更先进:KDE 1.x 仍然使用 Qt 1.x,而 YaST2 的第一个版本已经使用 Qt 2.x。我们一直在升级所有 Qt 2.x 版本,并在 SuSE Linux 9.0 中跳到 Qt3,它看起来像这样。

SuSE Linux Professional 9.0

正如您所知,这并不是故事的结尾。我们一直在更新所有 Qt 3.x、Qt 4.x 和现在 Qt 5.x 版本,如以下即将发布的 openSUSE Leap 15.1 的屏幕截图所示。已经有一段时间了:近 20 年的快乐 Qt 使用,始终保持最新。

openSUSE Leap 15.1

改进分区器用户体验

在用户体验方面,我们新的闪亮分区器的树形结构需要一些改进。我们修复了一个令人讨厌的问题,该问题导致每次对任何设备进行更改后,所有分支都会展开。除此之外,我们还更改了初始视图。请参阅下面的屏幕截图,其中部分 - 带有“硬盘”或“RAID”等图标的级别 - 最初展开,而代表设备的条目折叠起来,例如,在用户决定展开它们之前不显示所有分区的列表。

YaST Partitioner Screenshot

但是,坏消息是这些更改将不可用于 (open)SUSE 15.1,尽管您可以尝试一下,一旦它们登陆 Tumbleweed 即可。

让我们谈谈多设备 Btrfs

分区器中导航树的改进行为并不是我们为未来(“未来”意味着 Tumbleweed 和 SLE 和 openSUSE Leap 的 15.2 版本)准备的唯一增强功能。我们还希望能够使用 YaST 分区器来定义跨多个磁盘和分区的 Btrfs 文件系统。这是 Btrfs 的一项独特功能,它在文件系统级别结合了通常由软件 RAID 和 LVM 提供的某些特征。

但这同时也意味着对存储设备进行组织的一种非常不同的方式,这对于在已经复杂专家分区器的用户界面中表示是一个挑战。因此,首先,我们整理了 本文档,描述了在分区器中表示高级 Btrfs 功能的所有困难,以及短期和中期的一些可能解决方案。

请随时提供有关拟议解决方案的反馈并提出新的解决方案。帮助我们塑造 YaST 接口的未来!

结论

正如我们在本报告的开头提到的,我们欠您一篇关于 *Libyui 测试框架* 状态的博文。但在您等待它的同时,您可能想注册 openSUSE Conference 或查看 日程安排