YaST 团队目前正在打磨即将发布的版本,引入了一些改进和修复。没有破坏性更改,但我们仍然有很多内容可以写进博客。
更新 NFS 版本处理
很久以前,确切地说在 2008 年,大型强子对撞机 (LHC) 终于准备好了,劳尔·卡斯特罗取代菲德尔成为古巴总统,电视节目《飞天小女警》进行了预演……以及 yast2-nfs-client 添加了配置 NFSv4 挂载的支持。当时,使用“nfs4”作为挂载 NFS 分享的类型是正确的方法,即在 /etc/fstab 文件的 vfstype 列中写入“nfs4”。 后来,NFS4.1(也称为 pNFS)问世,并添加了一个新的挂载选项“minorversion=1”。很快,很明显这种解决方案无法扩展,也不是正确的做法。
因此,在某个时候,“nfs4”作为 vfstype 的有效值已被弃用,并且“minorversion”被放弃,转而使用“nfsvers”。由于旧的弃用方法仍然有效,yast2-nfs-client 从未更新以反映这一点。但从即将发布的 Leap 15 和 SLE 15 开始,NFSland 的一些事情将会改变(实际上,更改已经登陆 openSUSE Tumbleweed 已经有一段时间了)。类型“nfs4”将被视为与“nfs”相同,并且“minorversion”将被完全忽略,因此您旧的 NFS 挂载可能无法按您期望的方式工作。是时候刷新 yast2-nfs-client 了!
在此次冲刺期间,yast2-nfs-client 不仅在内部得到了修复,以在 /etc/fstab 中生成有效的条目,还对其创建和编辑 NFS 挂载的表单进行了略微改进,使其比旧表单更清晰,并且更清楚地说明了定义挂载时 NFS 版本的工作原理。
为了确保我们的用户不会被旧条目所迷惑,这些条目似乎正在强制执行特定的 NFS 版本(因为它们使用“nfs4”作为挂载类型,例如),但实际上由于 SLE 15 和 openSUSE 15 中的新行为而没有这样做,yast2-nfs-client 现在能够检测到这种情况,标记列表中的此类条目,并为用户提供安全的迁移路径。
如上图所示,所有这些改进都可以在 yast2-nfs-client 独立运行时使用,也可以在 YaST 分区程序中嵌入运行时使用。尽情享受吧!
修复损坏的翻译
最近我们收到了一些关于 YaST 在某些特定语言环境中运行时崩溃的错误报告。事实证明,问题是由损坏的翻译引起的。
许多翻译文本包含占位符,例如 %s、%{text} 或 %1。这些标签将被 YaST 中的实际值替换。但这需要翻译文本包含相同的标签。如果缺少它们,则不会包含该值,更糟糕的是,如果它们无效,Ruby 解释器会抛出异常,这意味着 YaST 会中止,让我们的用户不开心。这真的很糟糕,对吧?
不幸的是,Ruby gettext 不支持格式标签,GNU gettext 根本不支持 Ruby。作为快速解决方案,我们编写了一个脚本,该脚本检查翻译文本中是否包含所有标签,并报告损坏的翻译。
该脚本发现了大约 160 个损坏的翻译。最常见的问题通常只是拼写错误 (s% 而不是 %s,{%foo} 而不是 %{foo},或者 %␣1 中的额外空格)。但有些情况并不那么简单。翻译人员错误地使用了 Unicode ٪ 代替 ASCII %,甚至翻译了必须保持不变的标签 (%{مساعدة})。
有些翻译显然是错误的,甚至包含原始英文文本——我们删除了它们。在某些情况下,标签是错误的,但我们不确定整个翻译是否有效。在这种情况下,与其修复标签,不如完全删除翻译文本。最好要求翻译人员重新翻译,而不是拥有完全无效的翻译。
未来,我们计划改进这些检查,以便 Ruby 和/或 GNU gettext 直接正确处理标签,并且我们不需要单独的脚本。
使用浏览器通过 VNC 安装
您肯定已经习惯于使用 SSH 进行远程管理。而且,如您所知,(open)SUSE 安装也可以通过 SSH 进行。但是,此外,YaST 还支持通过 VNC 进行安装。
在使用 VNC 进行安装时,您可以选择使用本地 VNC 查看器或基于 Web 浏览器的查看器。第二种选择很酷的是,您可以将浏览器指向 http://IP-ADDRESS:5801 来跟踪安装过程。
到目前为止,YaST 正在使用基于 Java Applet 的实现,该实现不再受浏览器支持。但在本次冲刺期间,我们完成了向基于 JavaScript 的解决方案的切换。
不幸的是,这导致失去了加密层:端口 5801 上的 HTTP 连接未加密,但典型的 VNC 端口 (5901) 仍然加密。
询问一次关于等效许可证
在将 SUSE Linux Enterprise 分割成几个模块后,用户在安装过程中不得不接受几个等效许可证是很常见的。由于这些许可证的内容几乎相同,因此令人困惑。实际上,我们收到了一份关于安装过程卡在要求用户重复接受许可证的错误报告(只是对不同的模块显示相同的许可证)。
为了让我们的用户满意,YaST 现在能够确定两个许可证是否相同,并且在那种情况下,它只会询问一次接受权限。目前,YaST 将哈希函数应用于许可证内容并比较结果,但这种机制很可能会在未来得到改进。
CaaSP 3.0 中的许可证确认
说到许可证,CaaSP 3.0 中引入了关于如何处理许可证的另一个小变化。如您所知,CaaSP 具有 One Dialog Installer,并且没有空间显示许可证。现在,在继续安装之前,YaST 将在确认屏幕上显示许可证(如果需要)。
改进 addon 启动选项处理
在二月份,我们 改进了 addon 启动选项,以正确处理 SUSE Linux Packages DVD。但是,在测试期间,我们发现如果您使用的是只有一个 DVD 驱动器的系统,则安装 DVD 将自动用作 addon。
为了解决此冲突,如果安装介质和 Packages DVD 将使用相同的驱动器,YaST 将要求用户在将其用作 addon 之前更换 DVD。
此外,我们改进了 addon 启动选项的文档,添加了新的示例来阐明如何处理 dvd:/// URL。
冬日的回声:白色背景上的白色文本
这些天,我们修复了一个只有通灵者才能完成 openSUSE Kubic 安装的错误。
这个错误非常不重要,但我们可以引起您对相关的 CSS 样式引擎的注意吗?它为您可以选择的高对比度颜色模式提供支持,您可以使用 F3 或 Y2STYLE
如果您按下 Ctrl-Alt-Shift-S(表示 style),您可以动态更改样式,如本例所示,更改背景颜色
结论
openSUSE Leap 15.0 版本即将发布,像往常一样,我们需要我们亲爱的用户来试用测试版本并报告错误。提前感谢!





