ОБНОВЛЕНИЕ: Я ставлю награду за этот вопрос, в измененной форме:
Как сделать так, чтобы APT Pinning работал как положено? Или где я должен прочитать больше (за исключением официальной вики и исправлений / дополнений в нем), чтобы понять, как это работает, и сделать то, что в первоначальном вопросе я хочу сделать?
Короче говоря, я использую Debian Squeeze (версия 6), и я хочу сохранить его таким. И я хочу иметь возможность устанавливать пакеты из тестирования / нестабильности, если это необходимо. Таким образом, у меня есть эта настройка:
(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
не игнорирует wheezy repo, я дважды и трижды проверил.
По сути, я хочу, чтобы 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 для squeeze и wheezy соответственно.
Итак, на мои 2 вопроса:
- Как я могу даже установить
libasound2-plugins
из wheezy, не беспокоясь о APT и попросив меня (1) обновить половину моих дистрибутивных пакетов или (2) пожаловаться на сломанные пакеты? - Как я могу сделать так, чтобы APT-пиннинг работал правильно? Я прочитал официальную вики, опечатки и несколько статей, пытаясь подробно описать недостатки в официальной вики, но пока безрезультатно.
Я буду очень благодарен за каждое предложение, которое просвещает меня.
Спасибо за ваше время.