Debian APT:如何同时基于源地址和发行版名称配置固定优先级?
如何组合APT Pin规则中的origin与release条件?
我希望禁止自动安装来自以下特定源的软件包:
$ cat /etc/apt/sources.list.d/unstable.list deb http://deb.debian.org/debian unstable main contrib non-free non-free-firmware
直接移除该文件是最简单的办法,但我需要保留它——这样apt-cache search才能从这个源检索软件包条目,同时要禁止系统自动从该源安装软件包。如果确实需要安装该源里的包,我会手动为特定包设置优先级来覆盖规则。
我试过两种APT Pin配置,但都不符合需求:
- 第一种配置会匹配所有源的unstable发行版,范围太广:
$ cat /etc/apt/preferences.d/debian Package: * Pin: release a=unstable Pin-Priority: -1
- 第二种配置会匹配deb.debian.org源下的所有包,范围同样过宽:
$ cat /etc/apt/preferences.d/debian Package: * Pin: origin "deb.debian.org" Pin-Priority: -1
我真正需要的是把这两个条件组合起来,比如下面的配置,但它似乎无效:apt-cache policy既不报错,输出里也看不到该配置的效果:
$ cat /etc/apt/preferences.d/debian Package: * Pin: origin "deb.debian.org", release a=bookworm-backports Pin-Priority: -1
我找到了很多单独基于源地址或release a=配置优先级的示例,但找不到同时组合这两个条件的方法。请问如何在单个Pin:行中正确组合origin和release a=语法?
内容的提问来源于stack exchange,提问作者Guenther Brunthaler
相关产品推荐
相关产品推荐

