Debian GNU/Linux Anwenderhandbuch | ||
---|---|---|
Zurück | Kapitel 4. Installation weiterer Pakete | Nach vorne |
Eine besondere Stärke des Debian Paketmanagements ist das 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 „testing“) 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 mittels 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 in der Datei apt.conf ist 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 es 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.