libzypp、YaST、Zypper、PackageKit 和 Gnome 软件中心 - 这些乱七八糟的东西到底是怎么回事?

libzypp、YaST、Zypper、PackageKit 和 Gnome 软件中心 - 这些乱七八糟的东西到底是怎么回事?

我希望有更多经验的人帮助我理解这些差异以及这 5 件事是如何联系的:libzyppYaSTZypper和。PackageKitGnome Software Center

这是我一天研究的收获:

  • libzypp:后端包管理库,为 YaST、zypper 和 PackageKit 的 openSUSE 实现等应用程序提供支持
  • YaST:它是一个系统配置工具,恰好允许通过libzypp.它既提供了图形界面(GTK)又提供了通过终端的界面(不确定这里用的是什么)
  • Zypp:Open SU​​SE 官方命令行包管理器
  • PackageKit: 这就是我觉得事情变得有点模糊的地方。这似乎是一个包管理器抽象 - 它应该抽象 apt、zypper、yum 等之间的所有差异
  • Gnome Software Center:它是一个图形界面(GTK),通过软件包工具包安装依赖项 - 因此它应该适用于所有发行版,无论使用什么下划线软件包管理器

如果我理解正确的话:

  • 为什么我在 Gnome 软件中心看不到通过 YaST 安装的应用程序,反之亦然?
  • 如果前一点 (^) 没有发生,为什么我要保留安装 Gnome 软件中心?对我来说这件事看起来很混乱

答案1

我认为你的理解在全球范围内都是正确的,即使我可以发现定义上的一些差异:

  • 维基百科、ZYpp 和 libzypp 是相同的东西,即包管理器。
  • 再次根据维基百科,ZYpp 为 openSUSE 和 SUSE Linux、YaST 和 Zypper 的 PackageKit 实现提供支持。

Zypper 提供了使用 ZYpp 的命令行界面。
YaST 提供了使用ZYpp 的图形界面。
PackageKit 提供了一个使用 ZYpp 和其他包管理器(如 APT、pacman、YUM...)的统一方式

GNOME Software 的目标是成为一个应用程序商店,就像在 KDE 世界中发现一样。它的第一个想法不是管理(如 YaST 或 Synaptic)但是应用

GNOME软件使用 PackageKit与发行版的本机包管理器交互。然而,两者都是独立的,可以在其他上下文中使用。
例如,您可以使用 GNOME 软件来管理 Snap 和 Flatpak 应用程序,而无需 PackageKit 与本机包管理器交互。
或者,如果您使用 KDE,通常会让 Discover 与 PackageKit 而不是 GNOME 软件交互。

因此,当您想要安装应用程序时,我们可以想象这样的消息级联:
用户要求 GNOME Software 安装该应用程序。
GNOME Software 将请求转发给 PackageKit。
PackageKit 将请求转发给 ZYpp(因为我们使用的是 openSUSE)。
ZYpp 实际安装该应用程序。

我希望这能澄清您可能仍然存在的问题......

那么,回到你的问题:

为什么我在 Gnome 软件中心看不到通过 YaST 安装的应用程序,反之亦然?

如果 PackageKit 安装正确并且 GNOME 软件设置为使用 PackageKit,您应该会看到它们。

如果前一点 (^) 没有发生,为什么我要保留安装 Gnome 软件中心?对我来说这件事看起来很混乱

您可能仍然想保留 GNOME 软件来管理 Snap、Flatpak、GNOME shell 扩展...

答案2

您是否看到通过zypperGNOME 软件中的 YaST 或 YaST 安装的某些软件包取决于这些软件包是否包含 AppStream 清单。 AppStream 清单提供屏幕截图和徽标等信息。

相关内容