Eine besondere Stärke des Debian-Paketmanagements ist, dass unterschiedliche Release-Stände verwendet werden können. Hierzu sind zumindest zwei Releases (beispielsweise „woody“ und „testing“) mit entsprechenden Einträgen in der Datei /etc/apt/sources.list anzugeben. Nun kann mittels apt-get --target-release der gewünschte Release-Stand für ein Paket gewählt werden.
Sinnvoll ist dieses Feature leider nur mit zwei Releases einsetzbar; werden drei Debian-Releases (beispielsweise zusätzlich „unstable“) oder aber eine Nicht-Debian-Paketquelle gemischt, so kommt es zu seltsamen Ergebnissen. Die Lösung für dieses Problem ist eine Erweiterung der Datei /etc/apt/preferences.
Hier zunächst ein Beispiel für eine sinnvolle /etc/apt/preferences-Datei. Auf den meisten Systemen wird diese Datei nicht existieren (sie wird auch nicht zwingend benötigt) und muss daher neu angelegt werden.
* Track stable: Explanation: see http://www.argon.org/~roderick/apt-pinning.html Package: * Pin: release o=Debian,a=stable Pin-Priority: 900 Package: * Pin: release o=Debian,a=testing Pin-Priority: 400 Package: * Pin: release o=Debian,a=unstable Pin-Priority: 300 Package: * Pin: release o=Debian Pin-Priority: -1 * Track testing: Explanation: see http://www.argon.org/~roderick/apt-pinning.html Package: * Pin: release o=Debian,a=testing Pin-Priority: 900 Package: * Pin: release o=Debian,a=unstable Pin-Priority: 300 Package: * Pin: release o=Debian Pin-Priority: -1
Bereits beim einmaligen Aufruf von apt-get kann mit der Option -t der Wert für „APT::Default-Release“ gesetzt werden. Diese Einstellung gilt jedoch lediglich für diesen einen Aufruf von apt-get. Beispiel: apt-get -t unstable install paketname. Dies kann durchaus ein sehr nützliches Feature sein, kann sich aber in anderen Fällen auch problematisch auswirken.
Die gute Seite: Sind in der sources.list die Releases testing und unstable definiert und ist in der Datei apt.conf der Wert für APT::Default-Release auf „testing“ gesetzt, so ergeben sich folgende Prioritäten für das Paket „foo“:
release version priority no -t switch -t unstable testing 1.1 990 500 unstable 1.2 500 990
Ist das Paket „foo“ nicht installiert und wird apt-get install foo aufgerufen, so wird die Version 1.1 aus „testing“ installiert, da diese die höchste Priorität hat.
Mittels apt-get -t unstable install foo kann gezielt die Version 1.2 aus „unstable“ installiert werden, da für diesen einen Aufruf von apt-get die Priorität erhöht wird.
© 1999-2005 Frank Ronneburg - Dieser Inhalt ist unter einem Creative Commons Namensnennung - Nicht-kommerziell - KeineBearbeitung Lizenzvertrag lizenziert (creativecommons.org/licenses/by-nc-nd/2.0/de/).