简介

既然您已经有机会阅读了 我们关于高级加密选项的文章(特别是如果您是 s390 用户),那么是时候了解一下上次 YaST 开发冲刺期间发生的事情了,该冲刺于上周一结束。

像往常一样,我们一直在广泛的主题上工作,包括

  • 改进专家分区程序中对多设备文件系统的支持。
  • 修复 AutoYaST 中的网络、安全启动和 kdump 问题。
  • 在初始启动时停止等待 chrony,当这没有意义时。
  • 准备支持在 /usr/etc/etc 之间拆分配置文件。
  • 使用 /etc/sysctl.d 写入 YaST 相关设置,而不是 /etc/sysctl.conf 主文件。

专家分区程序和多设备文件系统

到目前为止,专家分区程序假定 Btrfs 是构建在多个设备之上的唯一文件系统。但这并不完全正确,因为有些文件系统能够使用外部日志来实现更好的性能。例如,Ext3/4XFS 可以配置为使用单独的设备进行数据和日志记录。

我们收到了一份 错误报告,该报告是由对多设备文件系统的这种误解引起的。专家分区程序将用作 Ext4 文件系统外部日志的设备标记为“Btrfs 的一部分”。因此,我们在上次冲刺期间对此进行了改进,现在外部日志设备在专家分区程序的类型列中得到正确指示,如下面的屏幕截图所示。

External Journal Type

此外,文件系统信息现在指示正在使用哪个设备作为外部日志。

External Journal Device Details

最后,我们还限制了属于多设备 Btrfs 的此类设备的使用。现在,如果您尝试编辑其中一个设备,将收到错误消息。在未来,我们将扩展此功能,以便能够从专家分区程序修改使用外部日志的文件系统。

AutoYaST 获得了一些关注

在此冲刺期间,我们在不同领域对 AutoYaST 进行了一些关注:网络、引导加载程序和 kdump。

关于网络领域,我们完成了新网络层中的 s390 支持,修复了设备激活和 udev 处理中的一些旧限制。除此之外,我们还修复了几个错误并大大改进了文档,因为我们发现它不太完整。

另一个重要的变化是添加了通过 AutoYaST 为 UEFI 禁用安全启动的支持。当然,我们也更新了文档,并且在此过程中,我们添加了一些缺失的元素,并删除了不再需要的元素。

最后,我们修复了一个在尝试在最小系统上使 kdump 正常工作时遇到的棘手问题。经过一些调试,我们发现 AutoYaST 在太晚的时候将 kdump 添加到要安装的软件包列表中。此问题已得到修复,现在应该可以像魅力一样工作。

正如您可能已经看到的那样,除了编写代码之外,我们还尝试为文档做出贡献,以便我们的用户拥有良好的信息来源。如果您感到好奇,除了已发布 SUSEopenSUSE 版本的文档之外,您还可以查看 最新构建(包括 AutoYaST 手册)。向我们的文档团队致敬,他们完成了如此出色的工作!

避免 chrony-wait 超时

最近,一些 openSUSE 用户报告了 Tumbleweed 中的一个真正令人恼火的问题。当通过 YaST 启用时间同步时,如果不可用网络连接,系统可能会在启动过程中卡住。

问题在于,除了 chrony 服务之外,YaST 还在启用 chrony-wait 服务。该服务用于确保在继续可能受时间偏移影响的其他服务之前,时间已正确设置。但是,如果没有网络连接,chrony-wait 将等待大约 10 分钟。不可接受。

关于此错误的正确修复的讨论仍在进行中,但目前,我们在 YaST 中应用了一个解决方法,仅为需要精确时间的那些产品启用 chrony-wait,例如 openSUSE Kubic。在其他情况下,即使没有网络,系统也会更快启动,尽管某些服务可能会受到时间偏移的影响。

/etc/usr/etc 之间拆分配置文件

作为 Linux 用户,我们都习惯于在 /etc 下检查系统范围的设置,其中包含供应商和主机特定的配置值的混合。过去这种方法运作得很好,虽然有一些小问题,但当像 事务更新 这样的事情发生时,情况变得混乱。

为了解决这些问题,计划是在 /etc/usr/etc 之间拆分配置文件。前者将包含供应商设置,而后者将定义主机特定的值。当然,这样的举动有很多影响。

因此,在此冲刺期间,我们尝试识别 YaST 的潜在问题并提出解决方案以在未来解决它们。如果您对技术细节感兴趣,可以阅读 我们的结论

将 Sysctl 更改写入 /etc/sysctl.d

为了能够应对 /etc/usr/etc 拆分,YaST 需要停止写入诸如 /etc/sysctl.conf 之类的文件,并使用 .d 目录(例如 /etc/sysctl.d)中的特定文件。

因此,作为上述研究的一部分,我们调整了几个模块(yast2-networkyast2-tuneyast2-securityyast2-vpn)以这样表现关于 /etc/sysctl.conf。从现在开始,YaST 特定设置将被写入 /etc/sysctl.d/30-yast.conf,而不是 /etc/sysctl.conf。此外,如果 YaST 在常规 .conf 文件中找到任何这些设置,它将将其移动到新位置。

接下来是什么?

冲刺 87 已经开始。除了修复网络重构期间引入的一些错误之外,我们还计划从事其他存储相关的工作,例如 LUKS2 的调整大小支持或一些小的 snapper 问题。我们将在下一次冲刺报告中向您提供更多详细信息。

敬请期待!