najlepszy sposób na zainstalowanie pakietu z wheezy na squeeze


9

Chcę używać doxygen na moim serwerze Debian Squeeze, ale potrzebuję wersji z Debian Wheezy, ponieważ najwyraźniej zawiera ona poprawkę, której potrzebuję.

Nie ma go w backportach - sprawdź pakiety.debian.org/search?suite=squeeze-backports&searchon=names&ke words=doxygen (jestem tu nowy i nie mogłem tego podawać jako prawidłowego linku!)

Próbowałem dodać Wheezy do mojego pliku sources.list i uruchomić, apt-get install -t wheezy doxygenale chce zainstalować zbyt wiele z wheezy; To jest serwer produkcyjny, więc nie mogę sobie pozwolić na to ryzyko.

Zakładam, że kompilacja ze źródła będzie też chciała skompilować całą resztę powyższego źródła?

Jakieś inne rozwiązania? (np. wirtualizacja lub chrootowanie?) itp

Odpowiedzi:


6

Dodaj do /etc/apt/apt.conf:

APT::Default-release "stable";

A potem możesz uruchomić:

aptitude install doxygen/wheezy

(to nie to samo co z -t)


Ok, miałem domyślny bit wydania. Nie ufam aptitude (raz go uruchomiłem, powiedział, że chce odinstalować wiele, np. „Realpath”; anulowałem, uruchomiłem go ponownie i z przyjemnością zainstalowałem doxygen ...). Ale zadziałało, dzięki.
artfulrobot

dzięki aptitude masz lepszą obsługę zależności, szczególnie podczas instalowania pakietów z różnych wydań, które przy pomocy apt-get muszą zostać naprawione ręcznie (np. obniżenie pakietu biblioteki przed zainstalowaniem wcześniej zaktualizowanego pakietu).
Giovanni Toraldo

Musiałem użyć „squeeze” zamiast „stable”, a także dodać deb http://mirror.rackspace.com/debian/ wheezy maindo /etc/apt/sources.list, zanim to zadziała
Motin

2

Kompilacja ze źródła ma spore szanse na działanie. To właśnie robi backports. Podczas kompilowania pakietu Debian wynikowy pakiet binarny jest zależny od wersji od wszystkich bibliotek, z którymi połączone są pliki wykonywalne pakietu: zainstalowane wersje bibliotek nie mogą być starsze niż wersje używane podczas kompilacji. Jeśli ponownie skompilujesz pakiet wheezy w systemie squeeze, te zależności pozwolą ci uruchomić pakiet w trybie squeeze. Zakłada się, że nie ma wyraźnej zależności od wersji pakietu, która nie jest ściśnięta, czego nie sprawdziłem dla konkretnego przypadku doxygen.


1

Poleciłbym zamiast tego użyć apt-pinning:

Dodaj następujące elementy do / etc / apt / preferences lub alternatywnie /etc/apt/preferences.d/pinning

Explanation: Uninstall or do not install any Debian-originated
Explanation: package versions other than those in the stable distro
Package: *
Pin: release a=stable
Pin-Priority: 900

Package: *
Pin: release o=Debian
Pin-Priority: -10

i zainstaluj pakiet wheezy, jak zauważył Giovanni:

apt-get install doxygen/wheezy

jak to jest lepsze niż sugestia Giovanniego?
artfulrobot

0

Nie jestem w 100% pewien, że prevu działa na Debianie, ale powinno: https://wiki.ubuntu.com/Prevu Zainstalowałem kilka pakietów z prevu z nowszych wersji ubuntu.

Jeśli nie możesz go uruchomić, spróbuj skompilować ze źródła, ponieważ być może nie będziesz musiał kompilować wszystkich bibliotek, ponieważ prawdopodobnie są już obecne, są to tylko starsze wersje.


prevu wygląda świetnie! ale nie mogę tego znaleźć dla debiana :-( Kiedy mówisz, że próbujesz kompilować, masz na myśli apt-get build-dep doxygen;apt-get source --compile doxygen;dpkg -i doxygen*.deb? Jestem pewien, że przyciągnie wszystkie inne rzeczy?
artfulrobot 18.10.11
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.