Product SiteDocumentation Site

6.2.6. Mit mehreren Distributionen arbeiten

aptitude ist ein so hervorragendes Werkzeug, dass es geradezu dazu herausfordert, Pakete aus unterschiedlichen Distributionen zu nutzen. Beispielsweise könnten Sie nach der Installation eines Stable-Systems ein in Testing oder Unstable verfügbares Paket ausprobieren, ohne zu sehr vom Ursprungszustand Ihres Systems abzuweichen.
Selbst wenn Sie beim Mischen von Paketen aus unterschiedlichen Distributionen gelegentlich auf Probleme stossen sollten, aptitude verwaltet ein solches Nebeneinander sehr gut und beschränkt die Risiken sehr effektiv. Die beste Vorgehensweise ist, alle benutzten Distributionen in /etc/apt/sources.list einzutragen (es gibt Leute, die immer alle drei Distributionen eintragen, aber beachten Sie, dass Unstable nur für erfahrene Anwender vorgesehen ist) und die Referenzdistribution mit dem APT::Default-Release Parameter fest zu legen (siehe Abschnitt 6.2.3, „Das System aktualisieren“).
Nehmen wir einmal an, Stable sei Ihre Referenzdistribution aber Testing und Unstable seien auch in Ihrer sources.list-Datei gelistet. In diesem Fall können Sie aptitude install package/testing nutzen, um ein Paket aus Testing zu installieren. Sollte die Installation auf Grund von nicht auflösbaren Abhängigkeiten scheitern, lassen sich diese Abhängigkeiten in Testing durch Angabe des -t testing Parameters lösen. Dies gilt gleichermassen für Unstable.
In dieser Situation werden Aktualisierungen (safe-upgrade und dist-upgrade) in Stable vorgenommen, ausgenommen Pakete, die bereits auf eine andere Distribution aktualisiert wurden: Diese folgen den Aktualisierungen der anderen Distributionen. Wir erklären dieses Verhalten mit Hilfe der von APT gesetzten Standardprioritäten weiter unten. Benutzen Sie apt-cache policy (siehe Seitenleiste), um die gesetzten Prioritäten zu überprüfen.
Alles beruht auf der Tatsache, dass APT nur Pakete gleich oder höher der installierten Version in Betracht zieht (unter der Annahme das /etc/apt/preferences für kein Paket eine Priorität größer als 1000 erzwingt).
Lassen Sie uns annehmen, Sie hätten Version 1 eines ersten Pakets aus Stable installiert und Version 2 und 3 wären in Testing bzw. in Unstable verfügbar. Die installierte Version hat eine Priorität von 100 aber die Version aus Stable (genau die gleiche) hat eine Priorität von 990 (weil sie Bestandteil der Zieldistribution ist). Pakete in Testing und Unstable haben eine Priorität von 500 (die Standardpriorität einer nicht installierten Version). Der Gewinner ist daher die Version 1 mit der Priorität 990. Das Paket "bleibt in Stable”.
Nehmen wir ein anderes Beispiel: Die Version 2 eines Pakets wurde aus Testing installiert. Version 1 ist in Stable verfügbar und Version 3 in Unstable. Version 1 (mit der Priorität 990 – also niedriger als 1000) wird verworfen, da die Versionsnummer geringer als die der installierten Version ist. Bleiben nur Version 2 und 3, beide mit einer Priorität von 500. Mit dieser Alternative konfrontiert, wählt APT die neueste Version aus, die Version aus Unstable. Wenn Sie nicht wollen, das ein installiertes Paket aus Testing nach Unstable migriert, müssen Sie Paketen aus Unstable eine Priorität kleiner als 500 (490 zum Beispiel) zuweisen. Dazu können Sie /etc/apt/preferences anpassen:
Package: *
Pin: release a=unstable
Pin-Priority: 490