在提供相同软件包的不同存储库之间进行选择

在提供相同软件包的不同存储库之间进行选择

(这里有点菜鸟)我一直以为,当有两个存储库提供软件包时,当我想要安装它时,apt 会选择最新版本的那个。这是因为,当我想使用默认存储库列表安装 Lollypop 时,它会显示一个较旧的版本,而当我添加开发人员的 PPA 后,它会从最新的 PPA 安装。

我对 spotify 采取了同样的方法:将 spotify 的 repo 添加为导演,然后继续安装。但它从 Pop!_OS 的专有存储库下载了软件包。

apt install 输出中的其中一行:

Get:2 http://apt.pop-os.org/proprietary focal/main amd64 spotify-client amd64 1:1.1.10.546.ge08ef575-19 [115 MB]

它优先考虑 Pop 的 repo,而不是 spotify 的。经过搜索,我发现。我可以使用“-t”选项指定存储库。因此,我比较了语法和存储库详细信息,并决定将“stable”替换为“squeeze-backports”(Spotify 的存储库 URI 是http://repository.spotify.com稳定非免费)。但它仍然从 Pop 的 repo 安装并得到与上面相同的输出。我也尝试将“非免费”作为参数。它抛出了一个错误。

我做错什么了吗?(也许我提出了错误的论点?)

或者我如何让我的经理优先考虑一个仓库而不是另一个?

我也尝试过一种叫做贴合。指南仅详细介绍了系统包的内容。URI 的标识符为“hardy”、“intrepid”等。在我的例子中,我找不到除“stable”之外的任何其他内容来代替“hardy”,并且“stable”也可能表示其他存储库。这是我添加到 preference.d 目录中的文件的内容:

Package: spotify-client
Pin: release n=stable
Pin-Priority: 1002

我还是尝试了,但还是不行。安装包时,有没有什么方法可以明确指定实际的 URI?

现在我通过 wget 下载了 .deb 文件,然后安装了这个东西这里。很难找到下载文件的准确 URL。

请回答上述问题。这可以帮助我以后使用其他软件包。或者最终我可以学到一些东西。

答案1

我认为问题出在 Spotify 方面。深入挖掘后,我发现他们更新了包文件目录使用新版本,但尚未更新软件包详细信息文件。在 下它仍然显示Version: 1:1.1.10.546.ge08ef575-19Filename: pool/non-free/s/spotify-client/spotify-client_1.1.10.546.ge08ef575-19_amd64.deb(旧版本)spotify-client。所以它一定是从其他 repo 下载的,因为它们是同一版本。但我仍然不明白为什么在将优先级设置为 spotify 的 repo 后它还是从 Pop 的 repo 下载。

(如我错了请纠正我)

相关内容