在上个月发布 Agama 3 之后,现在是时候发布新版本了。 除了其他内容之外,这个新版本修复了启动过程中的几个问题,允许使用网络代理,增加了(部分)对 IPv6 的支持,包含了一些对 Web UI 的改进,并提供了一个新的工具来提取与 Agama 相关的日志。

但与这些变化同样重要的是,我们做了一些内部工作,这将为其他功能奠定基础,例如适当的 i18n 支持和更灵活的存储管理。 其中一些功能很快就会实现,但与此同时,让我们关注 Agama 4 带来的内容。

Agama 启动问题

我们的 QA 团队正在通过多种场景和不同的架构测试 Agama。 这些测试帮助我们识别了 Agama 启动过程中的一些问题:D-Bus 激活错误、超时,甚至潜在的崩溃。

与 QA 团队紧密合作,我们已经识别并(希望)修复了大多数这些问题。 简而言之,您不应该再看到“无法连接到 D-Bus”错误消息了。 如果不是这样,请打开一个 错误报告 并附上 日志 :wink:

如果您对技术细节感兴趣,这里有一些您可能想查看的修复: #729, #732, #747, #749, #753

通过代理安装

许多用户和客户习惯于在没有直接访问互联网的情况下部署他们的系统,仅使用代理。 因此,它成为最受欢迎的功能之一并不令人惊讶。 Agama 4 包含对 指定代理 在启动时间使用选项 proxy= 的支持,当安装需要使用 HTTP(S) 或 FTP 源时。 支持的代理 URL 格式为: protocol://[user[:password]@]host[:port]

当然,代理配置会在安装结束时复制到目标系统。

详细信息可在 #696#711 中找到。

自动化安装中的 IPv6 支持

在 Agama 4 中,可以使用自动化安装时指定 IPv6 配置。 为了适应此功能,我们决定对配置文件定义进行一些更改。 这里有一个设置 IPv4 和 IPv6 地址的示例。

  "network": {
    "connections": [
      {
        "id": "Ethernet network device 1",
        "method4": "manual",
        "method6": "manual",
        "addresses": [
          "192.168.122.100/24",
          "::ffff:c0a8:7ac7/64"
        ],
        "gateway4": "192.168.122.1",
        "gateway6": "::ffff:c0a8:7a01",
        "nameservers": [
          "192.168.122.1",
          "2001:4860:4860::8888"
        ]
      }
    ]
  }

匹配特定的网络设备

在 Agama 的早期版本中,在使用自动安装机制时,无法指定要用于给定网络连接的接口:Agama 只是委托给 NetworkManager 来决定。 现在,您可以使用 其名称 或更多 复杂的条件 将网络连接与特定接口关联。 有关更多详细信息,请参阅 #723

  "network": {
    "connections": [
      {
        "id": "Ethernet network device 1",
        "method4": "auto",
        "interface": "enp1s0"
      }
    ]
  }

Agama 特定的存储设置

Agama 从配置文件(/etc/agama.yaml)读取有关为安装提供的产品的信息。 该文件包含一个storage 部分,指示要在目标系统中使用的选项(无论是否使用 LVM、加密等)和卷(文件系统)。

由于 Agama 和 YaST 使用相同的机制来计算存储布局(YaST 中称为 Guided Setup),因此 Agama 的配置是 YaST 设置的直接翻译。 但尽管内部组件和算法相同,但 Agama 调整其行为的方法在许多方面实际上与 YaST 不同。 因此,Agama 现在实现了自己的存储设置,使产品配置更加简单明了,且不易出错。

此更改直接影响 Agama 的自动安装配置文件。

storage: {
  bootDevice: "/dev/vda",
  lvm: true,
  encryptionPassword: "123456"
}

对实现感兴趣? 随时查看: #721, #738#748

更好的日志支持

随着项目的不断发展,越来越多的人尝试 Agama,我们需要使调试过程更容易。 最近,我们引入了一个新命令,用于收集我们在您使用 Agama 时遇到问题时所需的所有信息(类似于 YaST 的著名 save_y2logs)。 输入 agama logs store 会创建一个您可以附加到错误报告的 tarball。

这个第一个版本(#757)相当基础,但我们已经在致力于其他功能,以获得愉快的调试过程 :bug:

完善 Web 用户界面

Balsa Asanovic 已经成为 Agama 的常规贡献者。 例如,他实现了“显示密码”功能(#750)并改进了 iSCSI 表单中的错误报告(#699)。 但不仅如此,他还积极参与了 我们在 GitHub 上的讨论。 谢谢你,Balsa!

此外,一个阻止通过 Web UI 下载 YaST2 日志的错误已得到修复(#746)。

i18n 支持即将登陆 Agama

如果您密切关注该项目,您可能已经知道我们正在致力于 i18n 支持。 许多组件已经就绪,但我们没有将其包含在本版本中。 但是,我们相信我们的下一个主要版本将包含翻译后的 Web 界面。 实际上,我们的翻译人员 已经在工作 了。

尝试 Agama 4

尝试 Agama 的最简单方法是下载 Agama Live devel ISO 的两个变体之一(ALP 或 openSUSE)。 该镜像是在 systemsmanagement:Agama:Devel OBS 项目 中构建的,并且在我们发布新版本时会更新。

如果您对最新版本感兴趣,请尝试 systemsmanagement:Agama:Staging OBS 项目 中的 ISO。 它会自动构建,并包含来自 Agama 的 Git 仓库 的代码,因此可能会偶尔出现故障。

预期

我们预计能够在下一个版本中发布翻译后的 Agama 界面和更好的存储设置处理。 但与此同时,我们已经在致力于其他重要功能,例如软件模式选择或对 SUSE Customer Center 的支持。

当然,我们欢迎意见和反馈。 像往常一样,请随时通过 YaST 开发邮件列表、我们的 #yast 频道在 Libera.chat 或甚至 Agama 项目在 GitHub 与 YaST 团队联系。

敬请期待!