在又一个 Scrum 冲刺之后,我们带来关于 YaST 开发活动的常规报告。

可信启动

YaST 引导加载程序模块获得了一个新的选项,即可信启动(FATE#316553)。它将安装 TrustedGRUB2,而不是常规的 GRUB2。可信启动意味着在硬件(TPM,可信平台模块芯片)的帮助下,测量启动过程的完整性。

它启用了我们不幸地没有开箱即用提供的有趣功能。我们为您提供一个测量启动完整性并将结果放置在平台配置寄存器 (PCR) 中的引导加载程序。

首先,您需要确保在 BIOS 设置中启用了可信启动(例如,在 Thinkpad 上,该设置名为“Security / Security Chip”)。然后,您可以启用新的 YaST 引导加载程序选项,该选项将安装 TrustedGRUB2。

Trusted boot in YaST Bootloader

这个 pull request 的描述中,您可以找到更详细的解释,包括一些用于检查结果的命令和十六进制转储。极客福利!

SSH 密钥导入……以及对 YaST 开发人员生活的一瞥

在查看任何软件项目时,通常会发现由于所谓的“历史原因”而存在的某些功能或代码片段。YaST2 代码库自 1999 年以来一直存在,从那时起,它几乎每天都在适应变化和新需求。这导致了新的传承级别——“史前原因”。在 YaST 团队工作意味着编码、调试、测试……以及考古研究。

我们收到了一份 错误报告,称安装程序“窃取”了先前安装的系统中的一些 SSH 主机密钥(但不是全部)。实际上,这是 YaST 的一个鲜为人知的功能,乍一看可能会让人感到惊讶(甚至奇怪)。十年前,有人决定在网络环境中安装 SUSE 时,如果人们使用 SSH 登录,从先前安装的 Linux 系统导入 SSH 密钥会更好,而不是让所有尝试连接的人都更改“ssh 主机密钥”。原因是强制每个人都更改 ~/.ssh/known_hosts 文件可能会成为安全漏洞,因为人们可能会习惯忽略安全警告。欢迎来到历史原因的世界。 :smiley: 此外,决定在不向用户显示任何信息的情况下执行此操作,以免让他们感到困惑。

差不多在同一时间(我们仍然在谈论 2006 年),决定引入从现有系统导入用户的功能,这次带有用户交互。YaST 开发人员决定在两个功能的实现中共享一些机制是可以的。又一个进入历史原因空洞的步骤。

快进到今天。经过多年的 fate 条目、错误报告和重新设计,我们决定使 SSH 主机密钥的导入更加可见和可用,使两种功能(SSH 导入和用户导入)更加独立和干净,并采取第一步来清理多年来引入的混乱(有关详细信息,请参见 fate#320873)。

安装程序不再只是静默地从磁盘上的最新 Linux 安装中导入 SSH 主机密钥(请记住,您可能安装了多个发行版),它现在已成为安装建议对话框的一部分

SSH host keys proposal

并且您可以从那里更改它

SSH host keys selection

请注意,其中一个选项是“无”,因此不再强制复制以前的密钥。此外,现在也可以导入密钥之外的其余 SSH 配置。

禁用本地仓库

从本地介质(如 CD/DVD 或 USB 存储设备)安装时,在安装后这些源仍然启用。这可能会在软件安装、升级、迁移等过程中导致问题,因为旧的或过时的安装源仍然存在。另一方面,如果物理上移除了源(例如,弹出 CD/DVD),zypper 将会抱怨该源不可用。

幸运的是,此行为将在未来的 SUSE/openSUSE 版本中发生变化。现在,在安装结束时,YaST 将检查每个本地源,禁用那些其产品也通过远程仓库可用(因此根本不需要)的源。

具有 NPAR 和 SR-IOV 接口的智能绑定

在此冲刺期间,也改进了对具有 NPar 或 SR-IOV 功能的接口绑定的支持。一句话中太多奇怪的词?别担心,我们实际上喜欢解释事情。

绑定是一种组合多个网络连接以增加吞吐量和带宽并提供冗余的方法。另一方面,NPAR 和 SR-IOV 是提供从同一物理或以太网端口创建多个虚拟设备的功能的技术。

直到这次冲刺,YaST 没有提供任何方法来知道两个具有这些功能的接口是否共享相同的物理端口。因此,用户可以在没有意识到在冗余方面没有获得预期效果的情况下将它们绑定。

物理端口 ID 信息已添加到所有支持它的设备的相应对话框中,如下面的屏幕截图所示。

Physical ports

More physical ports

此外,当尝试绑定共享相同物理端口的设备时,将向用户发出警报。

Bonding warning

最后但并非最不重要的一点是,遵循 Boy Scout 规则(也称为 机会性重构),我们借此机会修复了 YaST Network 中的一些小问题,例如某些列表中设备的反直觉排序。

偿还债务:Snapper 中更好的清理规则

有人曾经说过“承诺已成,债务未还”。在 上一篇帖子 中,我们向您承诺了一篇关于 Snapper.io 的文章,详细介绍 Snapper 中引入的新空间感知清理功能。 现在,它来了!

就这些了

足以写一篇博文了。当然,这并不是我们在上次冲刺期间所做的一切(相反,根据故事点数计算,这只是完成工作的 20% 左右),但是,你知道,我们需要回去黑客攻击了!