如果我的 sources.list 或 sources.list.d 中列出了两个存储库,有没有办法告诉 apt 哪个是首选?
我的具体用例是,如果在内联网存储库和远程存储库中都找到了包,我希望 apt 始终使用内联网存储库。目前它似乎在两者之间随机选择。
答案1
假设你的软件包存储库位于repo.company.net
,创建一个名为 eg 的文件,/etc/apt/preferences.d/company-pinning
其中包含以下内容即可:
Package: *
Pin: origin repo.company.net
Pin-Priority: 600
默认优先级为500
,因此这将优先选择来自内联网服务器的最新版本。
答案2
您可以通过修改 /etc/apt/preferences 文件来实现这一点;这通常称为“APT 固定”。以下是一些包含详细信息的指南:
答案3
首先列出内部网源就足够了sources.list
。根据手册:
按偏好顺序列出来源很重要,最优先的来源列在最前面。通常,这将导致按速度从最快到最慢排序(例如,CD-ROM 之后是本地网络上的主机,然后是远程互联网主机)。
粗略地看一下源代码,首先进行遍历,然后按照您无法控制的顺序sources.list
排列文件。sources.list.d