我需要降级一些 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。
如果您想降级到稳定版,只需执行以下操作(假设设置与上面的设置相同)即可降级pkgname1
:pkgname2
apt-get install pkgname1/stable pkgname2/stable
这会将指定的包设置为目标版本stable
。
顺便说一句,将测试和/或不稳定的软件包与不稳定的系统混合通常是一个坏主意,除非您知道自己在做什么。有时候是可以的,但大多数时候你需要使用反向移植,要么来自 Debian,要么自制。
答案2
将块移动stable
到文件末尾preferences
,否则后面的(通配符)条目将覆盖它。
答案3
看起来除了稳定部分之外,固定确实有效。这可能是因为你是还使用APT::Default-Release "stable";
中的一行apt.conf
。这会覆盖您的固定首选项。只需删除该行,就可以了。