snap 应用程序说它是最新的,但 -v 显示的是旧版本

snap 应用程序说它是最新的,但 -v 显示的是旧版本

有问题的应用程序是 gallery-dl,我通过 snap store 安装了它。应用程序 1.23.1 -> 1.23.2 的最新更新修复了我遇到的一些问题。

我“sudo snap refresh gallery-dl”并进行了更新,在商店中它显示最新版本也已安装(1.23.2)。然而它仍然给我带来问题,gallery-dl -v 显示了旧版本。

我所做的是从 snap 商店中卸载它(但我仍然有该应用程序,并且 -v 仍然显示旧版本),然后 sudo apt remove gallery-dl。此时我刚从 snap 商店重新安装,现在就可以正常工作了。

由于我对 Linux 还不是很熟悉(一直用 Windows+Mac),有人能给我一些见解吗?为什么同一个应用程序有多个副本?(顺便说一下,pip 没有安装,所以我无法使用该命令安装),我如何显示它们并删除特定的一个?到目前为止,我的用户体验基本上是盲目地谷歌搜索命令行

答案1

Ubuntu 使用 Debian 包管理系统 APT 系统。在最近的版本中,引入了一种新的打包格式 Snap。Snap 旨在适用于大多数 Linux 发行版,并且是容器化的,从而消除了恶意软件造成重大危害的可能性。

您已安装同一工具的 APT 版本和 Snap 版本gallery-dl。它是一个命令行工具,因此在启动器中没有图标:您可以通过在终端上输入可执行文件的名称来运行它gallery-dl

当您输入可执行文件的名称时,系统将在PATH变量中列出的所有目录中搜索具有该名称的可执行文件。您可以在 的输出中看到该变量printenv PATH。APT 版本的可执行文件安装在 中/usr/bin。Snap 版本的可执行文件安装在 中/snap/bin。在PATH变量中,前者位于后者之前,因此将执行(旧版本)中的实例/usr/bin

删除其中一个版本即可消除歧义。Snap 应用程序会用 删除snap remove ...,APT 应用程序会用 删除sudo apt remove ...。图形应用程序可能在 Ubuntu 软件中心出现两次,一次作为 SNap,一次作为 APT。

相关内容