我目前正在使用Debian/测试在我的 amd64 桌面上分发。在此发行版上,软件包的最新版本bash
是 5.2~rc2-2,请参阅https://tracker.debian.org/pkg/bash
我不想安装 RC(候选发布)版本,因为bash
此软件包是使用 DEBUG 标志构建的,请参阅https://sources.debian.org/src/bash/5.2~rc2-2/configure.ac/#L43-L45。
我配置APT 固定用于bash
防止安装 5.2-rc* 版本(设置Pin-Priority
为 - 1)。文件/etc/apt/preferences.d/10-bash
:
Package: bash
Pin: version 5.2~rc*
Pin-Priority: -1
APT 策略bash
正常:
$ apt-cache policy bash
bash:
Installed: 5.1-6.1
Candidate: 5.1-6.1
Version table:
5.2~rc2-2 -1
990 http://debian.proxad.net/debian bookworm/main amd64 Packages
500 http://deb.debian.org/debian unstable/main amd64 Packages
*** 5.1-6.1 100
100 /var/lib/dpkg/status
我想使用 APT 固定bash
适用于所有 RC 版本(不仅是 5.2-rc):
Package: bash
Pin: version *rc*
Pin-Priority: -1
但对于这种模式*rc*
,它不起作用:
$ apt-cache policy bash
bash:
Installed: 5.1-6.1
Candidate: 5.2~rc2-2
Version table:
5.2~rc2-2 990
990 http://debian.proxad.net/debian bookworm/main amd64 Packages
500 http://deb.debian.org/debian unstable/main amd64 Packages
*** 5.1-6.1 100
100 /var/lib/dpkg/status
如何使用pattern/glob作为带有APT Pinning的版本?
答案1
根据apt_preferences
联机帮助页,正则表达式需要用斜杠包围。
如果我更正我的 APT Pinning 文件(防止安装 bash 的 RC 版本),它就可以工作!
/etc/apt/preferences.d/10-bash:
Package: bash
Pin: version /rc/
Pin-Priority: -1
$ apt-cache policy bash
bash:
Installed: 5.1-6.1
Candidate: 5.1-6.1
Version table:
5.2~rc2-2 -1
990 http://debian.proxad.net/debian bookworm/main amd64 Packages
500 http://deb.debian.org/debian unstable/main amd64 Packages
*** 5.1-6.1 100
100 /var/lib/dpkg/status