[[Vorlage(Fortgeschritten)]] {{{#!vorlage Wissen [:Editor: Einen Editor öffnen] [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis(2)]] ''Apt-Pinning'' nennt man eine Technik, bei der in der [:sources.list:] verschiedene Repositories "gewichtet" werden. So kann man getrost bei ''Dapper'' bleiben, kann aber Pakete gezielt aus ''Edgy'' oder einer inoffiziellen Quelle ziehen. Es lässt sich auch ein Paket in einer bestimmten Version festhalten oder dessen Installieren oder Deinstallieren verhindern. Dies wird hier als Beispiel dargestellt. Das Pinning geschieht in der Datei '''/etc/apt/preferences''', die in einem Editor mit Root-Rechten [1] angelegt bzw. bearbeitet werden muss. Im weiteren Verlauf folgen Beispiele. {{{#!vorlage Hinweis Das Folgende ist lediglich ein Beispiel, wie Pinning verwendet werden kann. Die konkreten Gewichtungen sind auf keinen Fall als Empfehlung zu verstehen. }}} Die Beispieldatei '''/etc/apt/sources.list''' soll hier als Beispiel wie folgt aussehen: {{{## Offizielle Quellen deb http://archive.ubuntu.com/ubuntu/ dapper main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ dapper main restricted universe multiverse ## Inoffizielle Quelle deb http://irgendwas.boeses.inoffizielles.de/ubuntu/ dapper main restricted universe multiverse }}} == Pinning per release == {{{Package: * Pin: release v=6.06, l=Ubuntu Pin-Priority: 1000 }}} Von nun an haben alle Pakete aus Quellen mit der Version ''6.06'' und dem Distributionsnamen (Label) ''Ubuntu'' den Vorzug, selbst wenn es in anderen Quellen neuere Pakete gibt. Ein ''Pin: release a=dapper'' hätte nicht gereicht, da es ja auch Paketquellen von Dapper gibt, die ''dapper-security'', ''dapper-updates'' etc. heißen. Erst wenn es die Pakete dort nicht gibt werden diese, soweit verfügbar, aus anderen Quellen installiert. == Pinning per origin == {{{Package: * Pin: origin irgendwas.boeses.inoffizielles.de Pin-Priority: 300 }}} Dieser Fall setzt die Priorität einer bestimmten Internetadresse (origin). Die genaue Bedeutung der Werte wird im [http://www.debian.org/doc/manuals/apt-howto/ch-apt-get.en.html#s-pin APT HOWTO] {en} erläutert. Soviel sei nur gesagt: Je höher das Gewicht, um so mehr wird einem Paket Vorzug gegeben, wobei es ab gewissen Schwellenwerten besondere Verhalten gibt. Bei einem Wert unter 1000 wird immer noch eine neuere Version mit einem niedrigen Wert (z.B. Version 2.0, Priorität 600) einem älteren Paket mit hohem Wert (Version 1.0, Priorität 800) vorgezogen. == Pinning per version == {{{Package: hello Pin: version 2.1.1* Pin-Priority: 1000 }}} Der letzte Fall verhindert das Installieren einer neueren Version des Paketes ''hello'' als Version 2.1.1, aber auch das unbeabsichtigte, "automatische" Deinstallieren aufgrund von Konflikten. {{{#!vorlage Hinweis In der '''/etc/apt/preferences''' definiert eine Leerzeile einen neuen Abschnitt für einen weiteren Eintrag. Leerzeilen zwischen Package, Pin und Pin-Priority sind nicht erlaubt. }}} == Gezieltes Umgehen mit apt-get == Im Terminal [2] kann man mit apt-get die Prioritäten aber auch gezielt umgehen. Folgender Aufruf z.B. zieht mplayer aus dem ''dapper''-Paketbereich. Dabei werden Abhängigkeiten nach der Priorität erfüllt. {{{apt-get -t dapper install mplayer-custom }}} {{{#!vorlage Experten Ausführlichere Informationen hierzu findet man in der Manpage: '''man apt_preferences''' oder im [http://www.debian.org/doc/manuals/apt-howto/ch-apt-get.en.html#s-pin APT HOWTO] {en} . }}} ---- # tag: Installation, Paketverwaltung