简介
既然您已经有机会阅读了 我们关于高级加密选项的文章(特别是如果您是 s390 用户),那么是时候了解一下上次 YaST 开发冲刺期间发生的事情了,该冲刺于上周一结束。
像往常一样,我们一直在广泛的主题上工作,包括
- 改进专家分区程序中对多设备文件系统的支持。
- 修复 AutoYaST 中的网络、安全启动和 kdump 问题。
- 在初始启动时停止等待
chrony,当这没有意义时。 - 准备支持在
/usr/etc和/etc之间拆分配置文件。 - 使用
/etc/sysctl.d写入 YaST 相关设置,而不是/etc/sysctl.conf主文件。
专家分区程序和多设备文件系统
到目前为止,专家分区程序假定 Btrfs 是构建在多个设备之上的唯一文件系统。但这并不完全正确,因为有些文件系统能够使用外部日志来实现更好的性能。例如,Ext3/4 和 XFS 可以配置为使用单独的设备进行数据和日志记录。
我们收到了一份 错误报告,该报告是由对多设备文件系统的这种误解引起的。专家分区程序将用作 Ext4 文件系统外部日志的设备标记为“Btrfs 的一部分”。因此,我们在上次冲刺期间对此进行了改进,现在外部日志设备在专家分区程序的类型列中得到正确指示,如下面的屏幕截图所示。
此外,文件系统信息现在指示正在使用哪个设备作为外部日志。
最后,我们还限制了属于多设备 Btrfs 的此类设备的使用。现在,如果您尝试编辑其中一个设备,将收到错误消息。在未来,我们将扩展此功能,以便能够从专家分区程序修改使用外部日志的文件系统。
AutoYaST 获得了一些关注
在此冲刺期间,我们在不同领域对 AutoYaST 进行了一些关注:网络、引导加载程序和 kdump。
关于网络领域,我们完成了新网络层中的 s390 支持,修复了设备激活和 udev 处理中的一些旧限制。除此之外,我们还修复了几个错误并大大改进了文档,因为我们发现它不太完整。
另一个重要的变化是添加了通过 AutoYaST 为 UEFI 禁用安全启动的支持。当然,我们也更新了文档,并且在此过程中,我们添加了一些缺失的元素,并删除了不再需要的元素。
最后,我们修复了一个在尝试在最小系统上使 kdump 正常工作时遇到的棘手问题。经过一些调试,我们发现 AutoYaST 在太晚的时候将 kdump 添加到要安装的软件包列表中。此问题已得到修复,现在应该可以像魅力一样工作。
正如您可能已经看到的那样,除了编写代码之外,我们还尝试为文档做出贡献,以便我们的用户拥有良好的信息来源。如果您感到好奇,除了已发布 SUSE 和 openSUSE 版本的文档之外,您还可以查看 最新构建(包括 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-network、yast2-tune、yast2-security 和 yast2-vpn)以这样表现关于 /etc/sysctl.conf。从现在开始,YaST 特定设置将被写入 /etc/sysctl.d/30-yast.conf,而不是 /etc/sysctl.conf。此外,如果 YaST 在常规 .conf 文件中找到任何这些设置,它将将其移动到新位置。
接下来是什么?
冲刺 87 已经开始。除了修复网络重构期间引入的一些错误之外,我们还计划从事其他存储相关的工作,例如 LUKS2 的调整大小支持或一些小的 snapper 问题。我们将在下一次冲刺报告中向您提供更多详细信息。
敬请期待!

