我尝试在 Debian 8 上使用 APT 配置优先级固定,以强制从特定存储库安装软件包。
我的服务器配置为使用 apt 代理,在/etc/apt/sources.list 的每一行上指定:
deb http://<my-apt-cacher-ng-proxy>:9999/ftp.fr.debian.org/debian/ jessie main
deb http://<my-apt-cacher-ng-proxy>:9999/ftp.igh.cnrs.fr/pub/mariadb/repo/10.0/debian sid main
我想将"MariaDB"存储库用于特定包"libmysqlclient18"。
推荐的方法是添加一个 apt 首选项,指示源"ftp.igh.cnrs.fr"比默认存储库的权重更大,例如:
/etc/apt/preferences.d/libmysqlclient18.conf
Package: libmysqlclient18
Pin: origin ftp.igh.cnrs.fr
Pin-Priority: 1001
但是当我使用代理时,我的 conf 中的每个来源都是指
有没有办法强制回购。?我尝试了一些替代方案,但没有成功:
Pin: release o=MariaDB
Pin: release l=MariaDB
...
我甚至试图指出不应该安装 Debian 基础软件包,也没有成功:
Package: libmysqlclient18
Pin: release n=Jessie
# OR: Pin: release o=Debian
Pin-Priority: -10
每次结果相同:两个存储库保持相同的 500 优先级
$ aptitude versions libmysqlclient18
Paquet libmysqlclient18 :
p 5.5.42-1 testing 500
p 10.0.17+maria-1~sid <NULL> 500
多谢
我找到了一个解决方法,要求 apt 将来自 MariaDB 的所有内容都视为更重要......这没关系,因为此存储库仅包含 4 或 5 个包,但不是理想的解决方案!
Package: *
Pin: release o=MariaDB
Pin-Priority: 999
如果我只指示一个包而不是" *
",它将停止工作。甚至"Package: libmysql*
"也不起作用。