Я хочу встановити єдиний пакет (і його залежності, але лише настільки, наскільки вони не задовольняються в Wheezy) від Debian Jessie на мою систему Wheezy, не модернізуючи "все і кухонну раковину" до версій Jessie. Зокрема, я хотів би встановити kpcli , який доступний в упаковці в Джессі, але не в Wheezy.
Все, що я знайшов, вказує на те, що я повинен додати сховища Джессі до мого списку джерел, встановити закріплення, щоб тримати все на хрипі і лише брати єдиний пакет від Джессі, і він майже просто стане на місце. Однак це не стає мені місце. Якщо я створюю /etc/apt.d/sources.list.d/jessie.list із таким вмістом:
deb ftp://ftp.debian.org/debian/ jessie main
deb-src ftp://ftp.debian.org/debian/ jessie main
а потім створити /etc/apt/preferences.d/jessie за допомогою:
Package: *
Pin: release a=wheezy
Pin-Priority: 1001
Package: kpcli
Pin: release a=jessie
Pin-Priority: 450
і бігайте apt-get -u update
за ним apt-get -u install kpcli/jessie
, тоді я очікую, що apt-get потягне kpcli і, можливо, невеличку жменю інших пакетів від Джессі, а залишок моєї встановленої системи залишить недоторканим. (У моїй системі встановлена повністю сучасна інсталяція Wheezy.) Як варіант, якщо я отримав пріоритет пін-файлу занадто низьким, я би сподівався, що він нічого не зробить. Скоріше, у моїй системі apt-get хоче оновити кілька сотень пакунків.
Що, власне, потрібно, щоб встановити лише цей єдиний пакет версії Jessie, а залишок моєї системи Wheezy залишився недоторканим?
Зауважте, що в цьому конкретному випадку програмне забезпечення насправді написано на Perl, тому немає компіляції у бінарне чи щось подібне; однак існує декілька залежностей від модуля Perl. Отже, однією з можливих альтернатив буде встановлення .deb (завантажується вручну), використовуючи те, що лише (1) дозволяє вказати єдиний локальний архів .deb, який слід встановити, як dpkg -i
, і (2) інтелектуально обробляє залежності. , яка dpkg -i
не відповідає. Однак для всіх пошукових запитів, які я робив кілька разів, і не вдалося розробити простий у виконанні посібник, як це зробити, загальне рішення (те, що працює і для двійкових, і для компільованих пакетів) було б чудово .