Я хотел бы получить ваш совет по еще одной проблеме с пиннингом, которая недавно меня поразила. Я проходил через это man apt_preferences
несколько раз, и не могу найти ничего неправильного в том, что я делал.
У меня возникали ошибки ядра в Linux Mint Debian Edition (LMDE), и я решил, что хочу использовать пакеты из Debian Wheezy, чтобы получить более новое ядро, которое могло бы их исправить.
Я решил попробовать с закреплением. План был в том, чтобы добавить deb-источник для wheezy и закрепить его с очень маленьким приоритетом, чтобы пакеты Wheezy устанавливались только в случае явного запроса. Затем я бы установил образ ядра из Wheezy.
Я добавил этот источник:
deb http://ftp.uninett.no/pub/linux/debian wheezy main contrib non-free
И этот пин:
Explanation: Disable Wheezy
Package: *
Pin: origin "ftp.uninett.no"
Pin-Priority: 1
Но не сработало. Я попробовал несколько других подходов, например:
Explanation: Disable Wheezy
Package: *
Pin: release o=Debian,n=wheezy
Pin-Priority: 1
или даже
Explanation: Disable Wheezy
Package: *
Pin: release n=wheezy
Pin-Priority: 1
Несмотря ни на что, даже при отрицательных приоритетах пакеты Wheezy по-прежнему имели тот же приоритет (500), что и LMDE, и им отдавали предпочтение перед LMDE, поскольку они были новее.
Видите ли вы что-нибудь, что я пропустил?
PS: Если вас интересует конкретная проблема паники, вы можете прочитать полную историюздесь
решение1
Думаю, я понял, в чем проблема.
Файл настроек по умолчанию выглядит так:
Package: *
Pin: release o=linuxmint
Pin-Priority: 700
Package: *
Pin: origin packages.linuxmint.com
Pin-Priority: 700
Package: *
Pin: release o=Debian
Pin-Priority: 500
Кажется, что пин "release o=linuxmint" никогда не совпадает. На самом деле, я изменил его на "origin debian.lth.se" (где debian.lth.se — зеркало LMDE, которое я использую), и вот: все приоритеты работают как и ожидалось.
Так что, похоже, это ошибка в LMDE. Я сообщу об этом, как только смогу.