beste Weg, um Paket von Wheezy auf Squeeze zu installieren


9

Ich möchte doxygen auf meinem Debian Squeeze-Server verwenden, benötige aber die Version von Debian Wheezy, da diese anscheinend den Bugfix enthält, den ich benötige.

Es ist nicht in Backports - überprüfen Sie packages.debian.org/search?suite=squeeze-backports&searchon=names&keywords=doxygen (Ich bin neu hier und durfte dies nicht als richtigen Link verwenden!)

Ich habe versucht, Wheezy zu meiner Datei sources.list hinzuzufügen und auszuführen, apt-get install -t wheezy doxygenaber es möchte zu viel von wheezy installieren . Dies ist ein Produktionsserver, daher kann ich mir dieses Risiko nicht leisten.

Ich gehe davon aus, dass das Kompilieren aus dem Quellcode auch den Rest des oben genannten aus dem Quellcode kompilieren möchte.

Irgendwelche anderen Lösungen? (zB Virtualisierung oder Chrooting?) etc.

Antworten:


6

Fügen Sie Ihrem hinzu /etc/apt/apt.conf:

APT::Default-release "stable";

Und dann können Sie laufen:

aptitude install doxygen/wheezy

(ist nicht dasselbe wie mit -t)


Ok, ich hatte das Standard-Release-Bit. Ich vertraue nicht auf aptitude (ich habe es einmal ausgeführt, es hieß, es wollte viele deinstallieren, wie 'realpath'; ich habe es abgebrochen, es erneut ausgeführt und es war glücklich, nur doxygen zu installieren ...). Aber es hat funktioniert, danke.
Artfulrobot

Mit aptitude haben Sie eine bessere Abhängigkeitsbehandlung, insbesondere wenn Sie Pakete aus verschiedenen Versionen installieren, die mit apt-get manuell behoben werden müssen (z. B. ein Downgrade eines Bibliothekspakets vor der Installation eines zuvor aktualisierten Pakets).
Giovanni Toraldo

Ich musste "Squeeze" anstelle von "Stable" verwenden und auch deb http://mirror.rackspace.com/debian/ wheezy mainzu /etc/apt/sources.list hinzufügen , bevor es funktionieren würde
Motin

2

Das Kompilieren aus dem Quellcode hat gute Arbeitschancen. Das macht Backports. Wenn Sie ein Debian-Paket kompilieren, hat das resultierende Binärpaket eine versionierte Abhängigkeit von allen Bibliotheken, mit denen die ausführbaren Dateien des Pakets verknüpft sind: Die installierten Bibliotheksversionen dürfen nicht älter sein als die beim Kompilieren verwendeten Versionen. Wenn Sie ein keuchendes Paket auf einem Squeeze-System neu kompilieren, können Sie mit diesen Abhängigkeiten das Paket auf Squeeze ausführen. Dies setzt voraus, dass es keine explizite Abhängigkeit von einer Paketversion gibt, die nicht unter Druck steht, was ich nicht auf den speziellen Fall von Sauerstoff überprüft habe.


1

Ich würde empfehlen, stattdessen apt-pinning zu verwenden:

Fügen Sie Folgendes zu / etc / apt / settings oder alternativ zu /etc/apt/preferences.d/pinning hinzu

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

und das installieren Sie das keuchende Paket, wie Giovanni betonte:

apt-get install doxygen/wheezy

Wie ist das besser als Giovannis Vorschlag?
Artfulrobot

0

Ich bin nicht 100% sicher, dass prevu unter Debian funktioniert, aber es sollte: https://wiki.ubuntu.com/Prevu Ich habe mehrere Pakete mit prevu aus neueren Versionen von Ubuntu installiert.

Wenn Sie es nicht zum Laufen bringen können, versuchen Sie, es aus dem Quellcode zu kompilieren, da Sie möglicherweise nicht alle Bibliotheken kompilieren müssen, da sie wahrscheinlich bereits vorhanden sind. Es handelt sich lediglich um ältere Versionen.


prevu sieht gut aus! aber ich kann es nicht für debian finden :-( Wenn du sagst, versuch es zu kompilieren, meinst du apt-get build-dep doxygen;apt-get source --compile doxygen;dpkg -i doxygen*.deb? Ich bin sicher, das wird all die anderen Sachen
anziehen
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.