我对这两个答案都很好奇,因为简短的谷歌没有显示任何结果。但是我想知道您将如何处理在两个不同的存储库中安装具有相同名称的程序。或者更改已经安装的一个,以便它接收来自新的更新。
特别是 OBS studio 引起了人们的注意,因为它包含在默认的 Ubuntu 存储库中,但是 obsproject 存储库具有更高版本的程序。
我对这两个答案都很好奇,因为简短的谷歌没有显示任何结果。但是我想知道您将如何处理在两个不同的存储库中安装具有相同名称的程序。或者更改已经安装的一个,以便它接收来自新的更新。
特别是 OBS studio 引起了人们的注意,因为它包含在默认的 Ubuntu 存储库中,但是 obsproject 存储库具有更高版本的程序。
每个存储库都有一个发布文件,客户端在执行 apt 命令时会查找该文件。Release 文件包含有关可用的 dist 和组件(例如仿生主宇宙等)的信息。它指定每个组件的位置和哈希总和。一旦获得相关的 dist,客户端就会搜索一个包列表,其中包含每个可用的 debian、它的位置、它的全名、版本、哈希和、大小等等。这就是您可以将软件包从一个存储库转移到另一个存储库的方式。
如果您想请求特定版本或目标 repo,则需要在使用 apt-get 时使用 -t 选项。如果该版本存在于 repo 中,它将被下载。注意:选择特定的 repo 时,它首先必须存在于源列表中。
下面是来自 apt-get 手册页的引用:
在典型的 Ubuntu 安装中,Apt 会自动尝试安装它可以在它知道的任何存储库中找到的最高版本。
如果你喜欢定制,你可以通过设置apt priority、apt-marking和apt-pinning来调整它。但是大多数人不需要使用这些高级工具。
警告:无法保证来自非 Ubuntu 存储库的更高版本与您的 Ubuntu 系统兼容。有些软件是——有些软件不是。如果新的、更高版本的软件导致问题,请退回到 Ubuntu 存储库中的版本。