我正在尝试将 Ondrej PHP PPA 中软件包的优先级从 提升500
到1000
。
我尝试这样做:
Package: *
Pin: o=LP-PPA-ondrej-php,a=bionic,n=bionic,c=main,b=amd64
Pin-Priority: 1001
但apt
不明白Pin指令
default: Did not understand pin type o=LP-PPA-ondrej-php,a=bionic,n=bionic,c=main,b=amd64
我找到了允许我对顶级域名来源执行此操作的文档,例如我使用以下命令成功固定了 nodesource:
Package: *
Pin: origin deb.nodesource.com
Pin-Priority: 1001
但不是特定的 PPA。我该如何固定具体的购电协议?
答案1
我想到了:
Package: *
Pin: release o=LP-PPA-ondrej-php
Pin-Priority: 1001
Pin: release o=<ppaname>
apt-cache policy
通过运行并检查输出可以找到 ppa 名称:
1001 http://ppa.launchpad.net/ondrej/php/ubuntu bionic/main amd64 Packages
release v=18.04,o=LP-PPA-ondrej-php,a=bionic,n=bionic,l=***** The main PPA for supported PHP versions with many PECL extensions *****,c=main,b=amd64
origin ppa.launchpad.net
答案2
使用下面的代码片段:
cat <<EOF | sudo tee /etc/apt/preferences.d/pin-ppa
Package: *
Pin: release o=LP-PPA-ondrej-php
Pin-Priority: 1337
EOF