apt 固定优先级受到限制

apt 固定优先级受到限制

我需要降级一些 apt 软件包,这些软件包是我之前固定用于测试的,默认是稳定的。这是首选项文件:

包裹: *
引脚:释放a=稳定
引脚优先级:1001

包裹: *
Pin:发布a=测试
引脚优先级:500

包裹: *
Pin:释放a=不稳定
引脚优先级:400

当我检查升级包之一的策略时,我得到:

apt-cache 策略 libstdc++5
libstdc++5:
  安装:1:3.3.6-28
  候选:1:3.3.6-28
  版本表:
 *** 1:3.3.6-28 0
        500 个 http://mirror.hetzner.de/debian/packages/testing/main amd64 软件包
        400 http://mirror.hetzner.de/debian/packages/unstable/main amd64 软件包
        100 /var/lib/dpkg/状态
     1:3.3.6-27.2 0
        第 990 章
        990 http://cdn.debian.net/debian/ stable/main amd64 软件包

每当我更改测试和不稳定的设置时,我都会看到此处反映的优先级变化。不过,无论我到目前为止尝试过什么,稳定包的优先级都不会改变。这个想法是将其设置为 >1000,以实际执行降级。任何提示,如何实际更改它?

这是完整的输出apt-cache policy

打包文件:
 100 /var/lib/dpkg/状态
     释放a=现在
 500 个 http://llvm.org/apt/jessie/ llvm-toolchain-jessie-3.7/main amd64 软件包
     发布 n=llvm-toolchain-jessie-3.7,c=main
     起源 llvm.org
 990 http://security.debian.org/stable/updates/non-free amd64 软件包
     版本 v=8,o=Debian,a=稳定,n=jessie,l=Debian-Security,c=非自由
     起源 security.debian.org
 990 http://security.debian.org/stable/updates/contrib amd64 软件包
     版本 v=8,o=Debian,a=稳定,n=jessie,l=Debian-Security,c=contrib
     起源 security.debian.org
 990 http://security.debian.org/stable/updates/main amd64 软件包
     版本 v=8,o=Debian,a=稳定,n=jessie,l=Debian-Security,c=main
     起源 security.debian.org
 990 http://cdn.debian.net/debian/ stable/contrib amd64 软件包
     版本 v=8.3,o=Debian,a=稳定,n=jessie,l=Debian,c=contrib
     来源 cdn.debian.net
 990 http://cdn.debian.net/debian/ stable/non-free amd64 软件包
     版本 v=8.3,o=Debian,a=稳定,n=jessie,l=Debian,c=非自由
     来源 cdn.debian.net
 990 http://cdn.debian.net/debian/ stable/main amd64 软件包
     版本 v=8.3,o=Debian,a=稳定,n=jessie,l=Debian,c=main
     来源 cdn.debian.net
 990 http://mirror.hetzner.de/debian/security/ stable/updates/non-free amd64 软件包
     版本 v=8,o=Debian,a=稳定,n=jessie,l=Debian-Security,c=非自由
     起源mirror.hetzner.de
 990 http://mirror.hetzner.de/debian/security/ stable/updates/contrib amd64 软件包
     版本 v=8,o=Debian,a=稳定,n=jessie,l=Debian-Security,c=contrib
     起源mirror.hetzner.de
 第 990 章
     版本 v=8,o=Debian,a=稳定,n=jessie,l=Debian-Security,c=main
     起源mirror.hetzner.de
 400 个 http://mirror.hetzner.de/debian/packages/unstable/non-free amd64 软件包
     发行版 o=Debian,a=不稳定,n=sid,l=Debian,c=非自由
     起源mirror.hetzner.de
 400 http://mirror.hetzner.de/debian/packages/unstable/contrib amd64 软件包
     发行版 o=Debian,a=不稳定,n=sid,l=Debian,c=contrib
     起源mirror.hetzner.de
 400 http://mirror.hetzner.de/debian/packages/unstable/main amd64 软件包
     发行版 o=Debian,a=不稳定,n=sid,l=Debian,c=main
     起源mirror.hetzner.de
 500 个 http://mirror.hetzner.de/debian/packages/testing/non-free amd64 软件包
     发行版 o=Debian,a=测试,n=stretch,l=Debian,c=非自由
     起源mirror.hetzner.de
 500 个 http://mirror.hetzner.de/debian/packages/testing/contrib amd64 软件包
     发布 o=Debian,a=测试,n=stretch,l=Debian,c=contrib
     起源mirror.hetzner.de
 500 个 http://mirror.hetzner.de/debian/packages/testing/main amd64 软件包
     发布 o=Debian,a=测试,n=stretch,l=Debian,c=main
     起源mirror.hetzner.de
 990 http://mirror.hetzner.de/debian/packages/ stable/non-free amd64 软件包
     版本 v=8.3,o=Debian,a=稳定,n=jessie,l=Debian,c=非自由
     起源mirror.hetzner.de
 第 990 章
     版本 v=8.3,o=Debian,a=稳定,n=jessie,l=Debian,c=contrib
     起源mirror.hetzner.de
 第 990 章
     版本 v=8.3,o=Debian,a=稳定,n=jessie,l=Debian,c=main
     起源mirror.hetzner.de
固定包:

答案1

我不明白你为什么来这里。如果您运行的是稳定的系统,为什么还要将首选项设置为稳定?据我所知,在这种情况下,稳定不需要偏好设置。

您没有明确说明您是否正在运行稳定的系统(您确实应该这么说),但如果不是,那么我真的不知道您在做什么。

如果发行版是稳定版,那么测试版和不稳定版通常要做的就是将它们的首选项设置为小于 100。我通常使用 50。

如果您想降级到稳定版,只需执行以下操作(假设设置与上面的设置相同)即可降级pkgname1pkgname2

apt-get install pkgname1/stable pkgname2/stable

这会将指定的包设置为目标版本stable

顺便说一句,将测试和/或不稳定的软件包与不稳定的系统混合通常是一个坏主意,除非您知道自己在做什么。有时候是可以的,但大多数时候你需要使用反向移植,要么来自 Debian,要么自制。

答案2

将块移动stable到文件末尾preferences,否则后面的(通配符)条目将覆盖它。

答案3

看起来除了稳定部分之外,固定确实有效。这可能是因为你是使用APT::Default-Release "stable";中的一行apt.conf。这会覆盖您的固定首选项。只需删除该行,就可以了。

相关内容