更新:我以修改后的形式对这个问题进行了悬赏:
我怎样才能让 APT Pinning 按照预期运行?或者我必须在哪里阅读更多内容(除了官方 Wiki 和其中的勘误表/补充内容)才能理解它的工作原理并按照原始问题所说的去做?
长话短说,我正在运行 Debian squeeze(版本 6),我想保持这种状态。如果需要,我希望能够安装来自 testing/unstable 的软件包。因此,我有以下设置:
(TLDR:最后有 2 个问题)
# /etc/apt/sources.list
deb http://ftp.uni-sofia.bg/debian/ squeeze main contrib non-free
deb-src http://ftp.uni-sofia.bg/debian/ squeeze main contrib non-free
deb http://ftp.uni-sofia.bg/debian/ wheezy main contrib non-free
deb-src http://ftp.uni-sofia.bg/debian/ wheezy main contrib non-free
我也有/etc/apt/preferences
:
Package: *
Pin: release a=squeeze
Pin-Priority: 1100
Package: *
Pin: release a=wheezy
Pin-Priority: 200
apt-get update
做不是忽略喘息的回购,我再三检查。
基本上我想让 Wine 使用 PulseAudio,但那是另一个话题。:-) 现在我只想能够libasound2-plugins
从 wheezy 安装。我设法libasound2
从 wheezy 安装,但现在我无法让它对 执行相同的操作libasound2-plugins
。
当然,我尝试了apt-get -t wheezy install libasound2-plugins
。输出如下:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
initscripts : Breaks: console-setup (< 1.74) but 1.68+squeeze2 is to be installed
Breaks: nfs-common (< 1:1.2.5-3) but 1:1.2.2-4squeeze2 is to be installed
libglib2.0-0 : Breaks: emacs23 (< 23.4+1-3)
Breaks: eog (< 3.2.2-3) but 2.30.2-1 is to be installed
Breaks: gnome-control-center (< 1:3) but 1:2.30.1-2 is to be installed
network-manager : Recommends: crda but it is not going to be installed
Breaks: network-manager-gnome (< 0.9) but 0.8.1-2 is to be installed
E: Broken packages
现在事情是这样的。我不想要 GNOME 3。(注意以下消息:gnome-control-center (< 1:3) but 1:2.30.1-2 is to be installed
或者,当我们这样做的时候,我不喜欢为了几个软件包而完全迁移到测试/不稳定状态。
最后,APT 固定对我来说似乎效果不佳,看一下:
apt-cache policy libasound2
libasound2:
Installed: 1.0.25-2
Candidate: 1.0.25-2
Version table:
*** 1.0.25-2 0
500 http://ftp.uni-sofia.bg/debian/ wheezy/main amd64 Packages
100 /var/lib/dpkg/status
1.0.23-2.1 0
500 http://ftp.uni-sofia.bg/debian/ squeeze/main amd64 Packages
一切都以某种方式假设引脚优先级为 500,而事实上,我分别为挤压和喘息指定了 1100 和 200。
接下来是我的两个问题:
- 我怎样才能
libasound2-plugins
从 wheezy 安装而不会让 APT 发疯并让我 (1) 升级一半的分发包或 (2) 抱怨包损坏? - 我怎样才能让 APT 固定正常工作?我已经阅读了官方 Wiki、勘误表和几篇试图详细说明官方 Wiki 中不足之处的文章,但目前无济于事。
我将非常感激每一条给我启发的建议。
谢谢你的时间。
答案1
你的第一个问题的答案是:
添加
APT:默认发布“稳定”;
然后使用/etc/apt/apt.conf
aptitude 安装所需的 Wheezy 包:
aptitude install libasound2-plugins/wheezy
这就是您通常在 Squeeze 上提取 Wheezy 包的方式,aptitude 有助于处理依赖关系,并且您不必为一个包安装 80% 的 Wheezy。