Chcę zainstalować pojedynczy pakiet (i jego zależności, ale tylko w takim stopniu, w jakim nie są one zadowalające w Wheezy) z Debian Jessie na moim systemie Wheezy, bez uaktualniania „wszystkiego i zlewu kuchennego” do wersji Jessie. W szczególności chciałbym zainstalować kpcli , który jest dostępny w pakiecie w Jessie, ale nie w Wheezy.
Wszystko, co znalazłem, wskazuje, że powinienem dodać repozytoria Jessie do mojej listy źródeł, ustawić przypinanie, aby wszystko było w porządku, i zabrać tylko jedną paczkę od jessie, a właściwie po prostu się ułoży. Jednak dla mnie to nie pasuje. Jeśli utworzę /etc/apt.d/sources.list.d/jessie.list z następującą zawartością:
deb ftp://ftp.debian.org/debian/ jessie main
deb-src ftp://ftp.debian.org/debian/ jessie main
a następnie utwórz /etc/apt/preferences.d/jessie za pomocą:
Package: *
Pin: release a=wheezy
Pin-Priority: 1001
Package: kpcli
Pin: release a=jessie
Pin-Priority: 450
i uruchamiam, apt-get -u update
a apt-get -u install kpcli/jessie
następnie oczekuję, że apt-get ściągnie kpcli i może garść innych pakietów od Jessie i pozostawi resztę mojego zainstalowanego systemu bez zmian. (Mój system to w pełni aktualna instalacja Wheezy.) Alternatywnie, jeśli mam zbyt niski priorytet pinów, nie spodziewałbym się, że nic nie zrobi. Zamiast tego w moim systemie apt-get chce zaktualizować kilkaset pakietów.
Co dokładnie jest potrzebne, aby zainstalować tylko ten jeden pakiet wersji Jessie, pozostawiając resztę mojego systemu Wheezy bez zmian?
Zauważ, że w tym konkretnym przypadku oprogramowanie jest napisane w Perlu, więc nie ma potrzeby kompilacji plików binarnych ani nic podobnego; istnieje jednak garść zależności modułu Perla. Dlatego jedną z możliwych alternatyw byłoby zainstalowanie .deb (pobranego ręcznie) przy użyciu czegoś, co tylko (1) pozwala na określenie pojedynczego, lokalnego archiwum .deb, które ma zostać zainstalowane dpkg -i
, i (2) obsługuje zależności w inteligentny sposób , którego zwykły dpkg -i
nie ma. Jednak w przypadku wszystkich wyszukiwań, które przeprowadziłem kilkakrotnie i nie udało mi się znaleźć prostego w obsłudze przewodnika, jak to zrobić, ogólne rozwiązanie (takie, które działa również dla binarnych, skompilowanych pakietów) byłoby świetne .