我希望有更多经验的人帮助我理解这些差异以及这 5 件事是如何联系的:libzypp
、YaST
、Zypper
和。PackageKit
Gnome Software Center
这是我一天研究的收获:
libzypp
:后端包管理库,为 YaST、zypper 和 PackageKit 的 openSUSE 实现等应用程序提供支持YaST
:它是一个系统配置工具,恰好允许通过libzypp
.它既提供了图形界面(GTK)又提供了通过终端的界面(不确定这里用的是什么)Zypp
:Open SUSE 官方命令行包管理器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
您是否看到通过zypper
GNOME 软件中的 YaST 或 YaST 安装的某些软件包取决于这些软件包是否包含 AppStream 清单。 AppStream 清单提供屏幕截图和徽标等信息。