Apt pinning 返回有关软件包头的错误消息

Apt pinning 返回有关软件包头的错误消息

我有一台运行 Debian Stretch 的服务器,需要在上面安装 PHP 7.1,但 Stretch 的默认存储库中没有 PHP 7.1,测试版(又名 Buster)中却有。我尝试使用 apt pinning 添加优先级较低的 Buster 存储库,因此只有我指定 Buster 中的软件包时才会安装它们。

我添加了以下内容(其他内容不变)/etc/apt/sources.list

# buster to get php 7.1 for nextcloud
deb http://ftp.de.debian.org/debian/ testing main 
deb-src http://ftp.de.debian.org/debian/ testing main

deb http://security.debian.org/debian-security testing/updates main
deb-src http://security.debian.org/debian-security testing/updates main

01-buster在(空的)/etc/apt/preferences.d目录中创建了一个名为的文件,其内容如下:

Package: *

Pin: release a=stable
Pin-Priority: 700

Package: *

Pin: release a=testing
Pin-Priority: 650

现在,当我运行时apt update,我得到以下输出:

Hit:1 http://security.debian.org/debian-security stretch/updates InRelease
Ign:2 http://ftp.de.debian.org/debian stretch InRelease                  
Hit:3 http://security.debian.org/debian-security testing/updates InRelease    
Hit:4 http://ftp.de.debian.org/debian testing InRelease                  
Hit:5 http://ftp.de.debian.org/debian stretch-updates InRelease
Hit:6 http://ftp.de.debian.org/debian stretch Release
Reading package lists... Done                      
E: Invalid record in the preferences file /etc/apt/preferences.d/01-buster, no Package header

其他命令,例如apt search phpapt policy返回相同的错误。

我 95% 确信我过去曾使用完全相同的设置成功完成过 apt 固定。有人知道这里发生了什么吗?

答案1

尝试删除之间的空白行包裹:别针:

Package: *
Pin: release a=stable
Pin-Priority: 700

Package: *
Pin: release a=testing
Pin-Priority: 650

相关内容