如何配置 APT 固定以防止安装 bash 候选版本

如何配置 APT 固定以防止安装 bash 候选版本

我目前正在使用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

相关内容