我阅读了有关如何apt
从特定来源安装的答案。https://askubuntu.com/questions/27362/how-to-only-install-updates-from-a-specific-repository/57749#57749
但我对这个例子感到困惑。
来源是:
deb http://mozilla.debian.net/ squeeze-backports iceweasel-release
命令是:apt-get install -t squeeze-backports iceweasel
所以这就是deb http://xxx.xxx.xx/
唯一定义源之后的内容。
然后我检查了我的来源列表。我发现了重复的路径,想知道如何apt
区分一个路径和另一个路径?
Hit:1 http://mirrors.aliyun.com/ubuntu bionic InRelease
Hit:2 http://mirrors.aliyun.com/ubuntu bionic-security InRelease
Hit:3 http://mirrors.aliyun.com/ubuntu bionic-updates InRelease
Hit:4 http://mirrors.aliyun.com/ubuntu bionic-proposed InRelease
Hit:5 http://mirrors.aliyun.com/ubuntu bionic-backports InRelease
Ign:6 http://dl.google.com/linux/chrome/deb stable InRelease
Hit:7 http://packages.microsoft.com/repos/vscode stable InRelease
Hit:8 http://dl.google.com/linux/chrome/deb stable Release
Ign:10 https://dl.bintray.com/rabbitmq-erlang/debian {distribution} InRelease
Err:11 https://dl.bintray.com/rabbitmq-erlang/debian {distribution} Release
404 Not Found [IP: 52.41.180.114 443]
Hit:12 http://ppa.launchpad.net/certbot/certbot/ubuntu bionic InRelease
Hit:13 http://linux.teamviewer.com/deb stable InRelease
Hit:14 https://www.charlesproxy.com/packages/apt charles-proxy InRelease
Hit:15 http://ppa.launchpad.net/fontforge/fontforge/ubuntu bionic InRelease
Hit:16 https://download.sublimetext.com apt/stable/ InRelease
Hit:18 http://ppa.launchpad.net/nathan-renniewaldock/flux/ubuntu bionic InRelease
Hit:17 https://packagecloud.io/rabbitmq/rabbitmq-server/ubuntu bionic InRelease
例如:
Hit:17 https://packagecloud.io/rabbitmq/rabbitmq-server/ubuntu bionic InRelease
Hit:1 http://mirrors.aliyun.com/ubuntu bionic InRelease
Hit:12 http://ppa.launchpad.net/certbot/certbot/ubuntu bionic InRelease
Hit:1 http://mirrors.aliyun.com/ubuntu bionic InRelease
所有 4 个源链接都有ubuntu bionic InRelease
.
如果简单提供的话,如何apt
知道我想从哪个特定源安装
apt install something_all_these_4_source_has -t ubuntu bionic InRelease
,没有完整的网址?
(假设所有 4 个来源都有我要安装的应用程序,但版本不同)
答案1
所以这就是
deb http://xxx.xxx.xx/
唯一定义源之后的内容。
不,源是由其Release
文件和其中的条目(特别是Codename
条目)定义的;参见例如拉伸向后移植Release
文件。
当您指定该-t
选项时,它将覆盖apt
的“默认版本”,这是最高优先级的版本。可能的值是基于配置的存储库的可访问版本。 “ubuntu bionic InRelease”不是有效目标。
如果同名的多个存储库具有给定包的不同版本,apt
则基于优先级的解析将确定使用哪个版本;看APT 固定依赖关系解析(这可以让你区分包起源,IE包含它们的存储库)。默认情况下,最高版本获胜。您可以通过指定特定的版本(而不是存储库或目标版本)与=
: apt install package=version
。
所有这一切背后都有一个基本假设:给定版本的包的所有可用副本在所有宣传它的存储库中都是相同的。