为什么 Ubuntu 18.04 上安装了两个名称相同的软件版本,我可以删除其中一个吗?

为什么 Ubuntu 18.04 上安装了两个名称相同的软件版本,我可以删除其中一个吗?

Gnome System Monitor 在“应用程序概览”中列出两次。使用软件中心,我确定其中一个是 snap 版本,而另一个不是 snap 版本。它们在“应用程序概览”中看起来完全相同。Gnome Calculator 是另一个例子,我相信还有更多。

我可以删除 snap 版本并使用另一个版本而不会出现任何问题吗?

正如问题明确指出的那样:为什么在 Ubuntu 18.04 上安装了两个名称相同的软件版本? 这个问题的建议重复并没有回答这个问题。

顺便说一句,Gnome 系统监视器的非 snap(apt 版本)在软件中心中被列出两次,这更令人困惑,两次都列为版本 3.28.2-0Ubuntu1。为什么会发生这种情况?

Ubuntu 版本 18.04 全新安装(不是升级)。

答案1

使用 Snaps 替换一些 GNOME 应用程序是开发人员的决定支持现代时尚的非极客 GNOME“功能”。

如何移除此类快照?按以下方式搜索snap list

$ snap list
Name                  Version  Rev   Tracking  Developer  Notes
core                  16-2.33  4830  stable    canonical  core
gnome-3-26-1604       3.26.0   64    stable/…  canonical  -
gnome-calculator      3.28.1   178   stable/…  canonical  -
gnome-characters      3.28.2   101   stable/…  canonical  -
gnome-logs            3.28.2   37    stable/…  canonical  -
gnome-system-monitor  3.26.0   45    stable/…  canonical  -

然后使用例如将其删除

snap remove gnome-system-monitor

然后安装常规包,例如

sudo apt install gnome-system-monitor

一些 deb 软件包可以作为其他软件包的依赖项安装到系统中。例如,gnome-system-monitor以下软件包的依赖项:

$ apt-cache rdepends gnome-system-monitor
gnome-system-monitor
Reverse Depends:
  gnome-core
  vanilla-gnome-desktop
  ubuntu-unity-desktop
  ubuntu-budgie-desktop
  gnome-applets
 |compiz-gnome
  cinnamon-desktop-environment

$ aptitude why gnome-system-monitor 
i   xinit        Recommends gnome-terminal | xterm | x-session-manager | x-windo
                            w-manager | x-terminal-emulator                     
p   compiz       Provides   x-window-manager                                    
p   compiz       Depends    compiz-gnome                                        
p   compiz-gnome Recommends gnome-system-monitor | mate-system-monitor         

请参阅相应的手册页以了解所用命令的语法(man apt-cacheman aptitude)。

答案2

我觉得这些回复忽略了一个关键点。Snap 软件包有修订版。如果你这样做

snap list --all

您可能会看到某些 snap 被列出多次。如果您查看修订号,您会发现它们有不同的修订号。您还会注意到,在注释字段中,修订号最低的 snap 被标记为“已禁用”。

我不是 Snap 专家,但我猜这是内置支持回滚更改的一部分。基本上,当 Snap 安装 Snap 软件包的新修订版本时,它会禁用以前的版本,但保留已安装的版本并安装新版本,使其处于活动状态。如果用户在使用新修订版本时遇到问题,您可以禁用新版本并重新启用以前的版本。

这与将应用程序同时安装为 Debian 软件包和 snap 软件包无关。虽然这种情况可能发生,但它与为应用程序安装的 snap 软件包数量无关。

答案3

这很简单,其中一个应用程序是传统包管理器(.deb 扩展名),另一个是 snap 包。传统应用程序打开速度更快,snappy 应用程序速度较慢,但​​它们为用户提供了更好的权限控制。Snap 是一种新格式,因此它仍然存在一些问题,例如某些 snap 应用程序不符合你的主题、加载速度慢等,但同时,它比 apt 提供更新更好。如果我为 Ubuntu 18.04 创建一个 deb 包,那么该包只适用于 18.04,甚至不适用于 18.10。我还必须为所有版本的 Ubuntu 制作一个 deb 包。Snap 还没有准备好取代 deb 包,很多人甚至根本不想使用 snap 包,所以商店里有传统版本和 snap 包。这就是 Vlc 对商店中有 2 个版本应用程序的说法。

适用于 Ubuntu 和许多其他 Linux 发行版的 VLC 使用 snapcraft 进行打包。这使我们能够将最新和最好的 VLC 版本直接分发给最终用户,其中包含安全性和关键错误修复、完整的编解码器和光学媒体支持。如果您希望安装传统的 deb 包,可以像往常一样通过 APT 获得,其中包含所有安全性和关键错误修复。但是,在下一个 Ubuntu 版本发布之前,不会有主要的 VLC 版本更新。

相关内容