在本次冲刺中,我们致力于改进许多方面的用户体验和安装体验,包括但不限于以下内容

  • 分区程序(Partitioner)的多个方面得到改进。
  • Snapper 信息更丰富。
  • 新的防火墙 UI 与 AutoYaST 的集成更加完善。
  • 角色管理和角色描述得到改进。
  • YaST Firstboot 对没有硬件时钟的设备(如树莓派)的支持更好。

让我们深入了解细节。

分区程序 UI 的更改以释放 Storage-ng 的力量

我们已经在之前的几篇文章中解释过,我们一直在努力提出一套更改,以改进分区程序的用户界面,从而暴露 Storage-ng 带来的所有新功能,同时仍然让我们的用户感到熟悉,并适应 80 列和 24 行的文本控制台。

我们最终实现了适合 80×24 文本控制台的界面,并允许进行各种操作。请查阅该文档以获取更多关于行为和原理的信息。

但是,“各种操作”意味着什么?例如,这意味着可以使用三个空磁盘开始,并仅使用分区程序创建这种复杂的设置。

Complex storage setup

  • 在该示例中,/dev/md0 是一个基于两个分区定义的 MD RAID,并格式化为“/”。到目前为止,这没什么令人印象深刻的。
  • /dev/md1 是一个基于全盘和分区的组合定义的 MD RAID。在旧的分区程序中,无法使用磁盘作为 RAID 的基础。
  • 更重要的是,/dev/md1 包含诸如 /dev/md1p1/dev/md1p2 之类的分区,这也是旧的分区程序不允许配置的。
  • /dev/volgroup0 是一个基于其中一个 MD 分区的 LVM VG,允许以一种新的方式结合 MD 和 LVM 技术的优点。
  • 最后但并非最不重要的一点是,/dev/sdc 是一个格式化为直接托管文件系统的磁盘,中间没有分区(这也是一种新的可能性)。

新 UI 的总体方法在链接的文档中描述。但是,既然一张图片胜过千言万语(而动画可能胜过两千言万语),让我们看看在文本控制台中创建上述复杂设置的某些过程会是什么样子。

这是您现在可以直接格式化没有分区的磁盘的方式。

Formatting a disk

玩转磁盘的分区也是了解按钮现在如何组织以及它们如何根据每个表中选择的行动态变化的好方法。单击以下图片以对其进行动画处理,并查看这些视图的操作效果。

Playing with partitions

为了获得完全全新的体验,单击下面的图片以查看动画,该动画显示了在两个全盘之上创建 MD RAID,然后在结果 RAID 内创建分区的整个过程。

Creating a partitioned RAID

但是,虽然文本模式是设计 YaST UI 的限制因素,但许多用户在图形模式下安装系统并使用分区程序。对于那些想知道重新组织的按钮在那种情况下看起来如何的人,这里有一些即将发布的 SLE-15-SP1 安装过程的屏幕截图(这次是静态屏幕截图,我们已经为一篇文章准备了足够的动画)。

Managing RAIDs with the new Partitioner UI

Managing Partitions with the new Partitioner UI

在设备图中一致地显示 Bcache 设备

大多数分区程序用户肯定已经认识到上面用于复杂示例设置的视觉表示风格。如您所知,分区程序在“设备图”部分提供了类似的表示,既用于系统的原始布局,也用于目标布局。

在为分区程序添加对 Bcache 的支持后,我们检测到这些图表中的一个小的但令人恼火的问题。缓存设备使用它们的 UUID 作为标签,这有两个缺点。

  • 它太长了。
  • 对于“计划”缓存集(即在分区程序中前进后将创建的集合),无法提前知道,导致没有标签的框。

因此,现在我们对所有缓存集使用固定的“bcache cache”标签,如下所示。

New label for cache sets in the Device Graph

与旧的方式形成对比,旧的方式带有空框。

Lack of labels in the old Device Graphs

添加和删除 Bcache 设备

既然我们提到了分区程序中的 Bcache 支持,值得注意的是,该实现正在以良好的速度向前发展。在本次冲刺中,我们实现了添加新 Bcache 设备和删除它的操作的第一个版本。

添加新设备时,当前可以定义的唯一选项是使用哪些设备来构建它。但是,下一个冲刺已经开始,您可以期待在不久的将来支持更多选项。

Creating a new Bcache device

创建 Bcache 设备后,可以像系统中的其他设备一样,以相同的灵活性对其进行格式化、挂载或分区。因此,很快(在通常的集成和自动化测试阶段之后),Tumbleweed 用户将能够使用 YaST 分区程序来测试这项令人兴奋的技术。

当然,删除 Bcache 设备的的操作提供了分区程序的其他部分中可用的通常检查和信息,如以下屏幕截图所示。

Deleting a bcache device

这两个屏幕截图都是使用即将发布的 SLE-15-SP1 的安装程序的更新版本拍摄的,因为此功能将在该发行版中可用,当然也将在 openSUSE Leap 15.1 中可用。

Snapper:显示每个快照使用的空间

正如那些关注我们博客的人已经知道的那样,YaST 团队也以某种方式负责 Snapper 的开发和维护,Snapper 是 Linux 的终极文件系统快照工具。并且 Snapper 在本次冲刺中也收到了一些可用性改进。

对于启用 btrfs 和配额的系统,"snapper list" 的输出现在显示每个快照使用的空间。在这种情况下,使用的空间是与快照对应的 btrfs 配额组的独占空间。

# snapper --iso list
Type   | # | Pre # | Date                | User | Used Space | Cleanup | Description      | Userdata
-------+---+-------+---------------------+------+------------+---------+------------------+--------------
single | 0 |       |                     | root |            |         | current          |
single | 1 |       | 2018-10-04 21:00:11 | root | 15.77 MiB  |         | first filesystem |
single | 2 |       | 2018-10-04 21:19:47 | root | 13.78 MiB  | number  | after install    | important=yes

有关此更改的更多详细信息、优点和限制,请查看 Snapper 博客上的新文章

简化的角色选择

SLE-15 中的角色选择对话框始终在安装工作流程中显示。但是,如果在只有一个角色可供选择的情况下显示它,则没有太大意义。如果您未注册系统且不使用任何其他安装存储库,则在默认的 SLES-15 安装中,您只能看到minimal 系统角色。

Selecting one out of one roles

在这种情况下,您实际上无法更改任何内容,因为唯一角色默认预先选择,您能做的唯一事情就是按Next 按钮。

因此,我们改进了 SLE15-SP1,如果只有一个角色可供选择,则该角色将自动选择,并且跳过该对话框。

此外,许多角色描述已被调整和简化,希望更加清晰。

YaST Firstboot 在没有硬件时钟的设备上

SLE 和 openSUSE 可以在各种设备上安装,包括一些不包含硬件实时时钟的系统,例如流行的树莓派。这意味着建立当前日期和时间的常用机制(使用 hwclock 命令)在这些设备上会失败。在使用 YaST Firstboot 配置新设备时,检测到这个普遍问题。

因此,现在 YaST 会检测没有实时时钟的情况,并使用 date 作为替代方法来设置日期和时间。此修复已提交到 openSUSE Tumbleweed,将在所有即将发布的 SLE 版本(如 SLE-12-SP4 和 SLE-15-SP1)和 openSUSE Leap 中可用。

新的防火墙 UI 与 AutoYaST 的更好集成

之前的报告 中,我们预计我们将为 YaST 中的 Firewalld 配置构建新的 UI。在本次冲刺中,我们专注于在发布此新功能之前需要完成的一些方面。

现在,此 UI 可以从 YaST 中的 AutoYaST 模块调用,这意味着它可以用于导入然后微调系统的当前配置,以便将其导出到 AutoYaST 配置文件。

既然我们已经进入动画模式,请查看如何使用新的 UI 定义 AutoYaST 配置文件。

Using the Firewalld UI from the AutoYaST module

很快,整个功能将准备就绪,我们将发布一个单独的博客文章来解释所有细节。

敬请期待

我们已经在进行下一个冲刺,特别关注 AutoYaST、Snapper 以及改进各种场景下的安装体验。如上所述,您可能在我们完成冲刺之前就能收到更多关于我们的消息(关于新的 Firewalld 支持)。

但是,如果您无法等待更多消息,请随时访问我们在 Freenode 上的 Irc #yast 频道。否则,很快再见。