Такая вот история: вздумал я обновить Оперу (которая браузер) на jessie. Ан нет: пакет libdbus-1-3 ей уже стар. Подходящих сторонних реп не сыскал, решил подключить репы от stretch для аккуратного выборочного использования. Что такое pinning - в курсе.
Естественно, прописал соответствующий файл в /etc/apt/sources.list.d.
А потом сделал файлик в /etc/apt/preferences.d и начал его заполнять.
Сначала написал в нем вот такую штуку:
Package: *
Pin: release a=stretch
Pin-Priority: -10
Package: dbus
Pin: release a=stretch
Pin-Priority: 1010
Package: libdbus-1-3
Pin: release a=stretch
Pin-Priority: 1010
И никакого толку: по команде apt-get dist-upgrade пара-другая совершенно «левых» пакетов попыталась обновиться из stretch - естественно (а может, и по счастью), с сообщениями о конфликтах зависимостей.
В итоге придумал обходной маневр: задействовал для реп stretch другое зеркало, нежели для jessie (взял норвежское, в отличие от российского для jessie) и написал такое:
Package: *
Pin: origin ftp.no.debian.org
Pin-Priority: -10
Package: dbus
Pin: origin ftp.no.debian.org
Pin-Priority: 1010
Package: libdbus-1-3
Pin: origin ftp.no.debian.org
Pin-Priority: 1010
Стало работать как надо. Вопрос: почему так, с костылем, работает, вроде бы правильный 1-й вариант - нет?