从 Launchpad 固定特定 PPA

从 Launchpad 固定特定 PPA

我正在尝试将 Ondrej PHP PPA 中软件包的优先级从 提升5001000

我尝试这样做:

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

相关内容