Sicherlich warst Du auch schon mal von dem Problem betroffen, das einige Pakete des Stable-Releases ziemlich angestaubt sind und Du eine etwas neuere Variante benötigst. Falls Du jetzt nicht gleich den Compiler anwerfen möchtest bzw. kannst, um Dir das benötigte Paket aus den Quellen zu bauen, so heisst die Lösung "APT-Pinning".
Mit Hilfe des Pinning (engl. to pin: anheften) kannst Du die verschiedenen Entwicklungszweige in Debian miteinander verbinden. D.h. Du kannst den Stable-Zweig auf Deinem System fahren, während einige Pakete aus dem Testing- oder gar Unstable-Zweig stammen.
Diese Vorgehensweise ist jedoch nur für Systeme empfehlenswert, welche keine kritischen Dienste beherbergen bzw. anbieten. Denn nur der Stable-Zweig wird von dem Debian Sicherheits-Team betreut.
Paketquellen anpassen
Als erstes machen wir APT mit den Paketquellen für den Testing- bzw.
Unstable-Zweig bekannt. Dazu ergänzen wir die /etc/apt/sources.list
um
Quellen für den Testing- und Unstable-Zweig, welche derzeit die Namen
"Lenny" und "Sid" tragen:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | # Debian Etch deb http://ftp2.de.debian.org/debian/ etch main non-free contrib deb-src http://ftp2.de.debian.org/debian/ etch main non-free contrib # Sicherheitsupdates für Debian Etch deb http://security.debian.org/ etch/updates main contrib non-free deb-src http://security.debian.org/ etch/updates main contrib non-free # Debian Lenny deb http://ftp2.de.debian.org/debian/ lenny main non-free contrib deb-src http://ftp2.de.debian.org/debian/ lenny main non-free contrib # Debian Sid deb http://ftp2.de.debian.org/debian/ sid main non-free contrib deb-src http://ftp2.de.debian.org/debian/ sid main non-free contrib |
Priorisierung der Zweige
Dazu editieren wir die Datei /etc/apt/preferences
. Normalerweise wird
bei der Paketauswahl immer das Paket mit der höchsten Versionsnummer
gewählt. Wir legen nun jedoch die Priorität anhand der einzelnen Zweige
fest.
1 2 3 4 5 6 7 8 9 10 11 | Package: * Pin: release a=stable Pin-Priority: 700 Package: * Pin: release a=testing Pin-Priority: 650 Package: * Pin: release a=unstable Pin-Priority: 600 |
In dieser Konfiguration bevorzugen wir nach wie vor Pakete aus dem Stable-Zweig.
Installation der Pakete
Die Installation neuerer Pakete erfolgt wie gewohnt über
aptitude install <packageName>
. Wenn das gewünschte Paket im
Stable-Zweig existiert wird es verwendet, andernfalls wird auf Versionen
aus dem Testing- bzw. Unstable-Zweig zurückgegriffen.
Ein wenig problematischer wird es, wenn es das gewünschte Paket sowohl im Stable-Zweig als auch bspw. im Testing-Zweig existiert. Nun gibt es verschiedene Varianten um fortzusetzen:
aptitude install <packageName>/unstable
In diesem Falle wird die Version des gewünschten Pakets aus dem Unstable-Zweig installiert. Die Abhängigkeiten des Pakets werden versucht im Stable-Zweig aufzulösen. Unter Umständen kann dies zu einer Fehlermeldungen führen, da manche Abhängigkeiten nicht übergreifend aufgelöst werden können.aptitude -t unstable <packageName>
Nun wird das gewünschte Paket samt seiner Abhängigkeiten aus dem angegebenen Zweig installiert.