APT:在软件包资源列表中固定软件包来源和apt代理



我尝试在 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*"也不起作用。

最新更新