NAME
apt_preferences - Voreinstellungssteuerdatei für APTBESCHREIBUNG
Die APT-Einstellungsdatei /etc/apt/preferences und Teildateien im Verzeichnis /etc/apt/preferences.d/ können benutzt werden, um zu steuern, welche Versionen von Paketen zur Installation ausgewählt werden. Es könnten mehrere Versionen eines Pakets zur Installation verfügbar sein, wenn die Datei sources.list(5) Bezüge zu mehr als einer Distribution enthält (zum Beispiel stable und testing). APT weist jeder verfügbaren Version eine Priorität zu. Unter Berücksichtigung von Abhängigkeitsbedingungen wählt apt-get die Version mit der höchsten Priorität zur Installation aus. Die APT-Einstellungen setzen die Prioritäten außer Kraft, die APT den Paketversionen standardmäßig zuweist, was dem Benutzer die Kontrolle darüber gibt, welche zur Installation ausgewählt wird. Es könnten mehrere Instanzen der gleichen Version eines Paketes verfügbar sein, wenn die Datei sources.list(5) Bezüge zu mehr als einer Quelle enthält. In diesem Fall lädt apt-get die Instanz herunter, die in der Datei sources.list(5) als erstes aufgelistet ist. Die APT-Einstellungsdatei beeinflusst die Wahl der Instanz nicht, nur die Wahl der Version. Eigenschaften sind in der Hand eines Systemadministrator ein große Stärke, können aber auch sein größter Albtraum werden, wenn sie unvorsichtig benutzt werden. APT wird die Eigenschaften nicht in Frage stellen, so dass deshalb falsche Einstellungen zu nicht installierbaren Paketen oder falschen Entscheidungen während des Upgrades führen können. Sogar noch mehr Probleme treten auf, wenn mehrere Distributions-Releases ohne gutes Verständnis der folgenden Absätze gemischt werden. Pakete, die in einem speziellen Release enthalten sind, sind nicht in älteren und neueren Releases oder zusammen mit Paketen unterschiedlicher Releases getestet und funktionieren daher nicht immer wie erwartet. Sind wurden gewarnt. Beachten Sie, dass die Dateien im Verzeichnis /etc/apt/preferences.d in alphanumerisch aufsteigender Reihenfolge ausgewertet werden und der folgenden Namenskonvention unterliegen: Die Dateien haben entweder keine oder »pref« als Dateierweiterung und sie enthalten nur alphanumerische Zeichen, Bindestriche (-), Unterstriche (_) oder Punkte (.). Andernfalls wird APT einen Hinweis ausgeben, dass es eine Datei ignoriert hat, falls die Datei nicht auf ein Muster in der Konfigurationsliste Dir::Ignore-Files-Silently passt – in diesem Fall wird sie stillschweigend ignoriert.APTs Standardprioritätszuweisungen
Wenn es keine Einstellungsdatei gibt oder es in der Datei keinen Eintrag gibt, der sich auf eine bestimmte Version bezieht, dann ist die dieser Version zugewiesene Priorität, die Priorität der Distribution zu der die Version gehört. Es ist möglich, eine Distribution auszuzeichnen, »das Ziel-Release«, die eine höhere Priorität erhält, als dies bei anderen Distributionen standardmäßig der Fall ist. Das Ziel-Release kann auf der apt-get-Befehlszeile oder in der APT-Konfigurationsdatei /etc/apt/apt.conf gesetzt werden. Beachten Sie, dass dies Vorrang vor einer allgemeinen Priorität hat, die Sie, wie später beschrieben, in der Datei /etc/apt/preferences setzen, aber nicht vor bestimmten mit Pinning festgehaltenen Paketen. Beispielsweiseapt-get install -t testing irgendein_Paket
APT::Default-Release "stable";
to the versions coming from archives which in
their Release files are marked as "NotAutomatic: yes" but not
as "ButAutomaticUpgrades: yes" like the Debian experimental archive,
as well as versions that are not phased on this systems.
Priorität 100
zu der Version, die bereits installiert ist
(wenn dies der Fall ist) und zu Versionen, die von Archiven kommen, die in
deren Release-Dateien als »NotAutomatic: yes« und
»ButAutomaticUpgrades: yes« markiert sind, wie das
Debian-Backports-Archiv seit squeeze-backports.
Priorität 500
zu den Versionen, die nicht zum Ziel-Release
gehören.
Priorität 990
zu den Versionen, die zum Ziel-Release
gehören.
Die höchste dieser Prioritäten, deren Beschreibung zu der Version
passt, wird der Version zugewiesen.
Wenn das Ziel-Release nicht angegeben wurde, dann weist APT einfach allen
installierten Paketversionen eine Priorität von 100 und allen nicht
installierten Paketversionen eine Priorität von 500 zu, außer
wenn Versionen aus Archiven kommen, die in deren Release-Dateien mit
»NotAutomatic: yes« markiert sind – diese Versionen
erhalten die Priorität 1 oder die Priorität 100, falls sie
zusätzlich als »ButAutomaticUpgrades: yes« markiert sind.
APT wendet dann die folgenden Regeln an, aufgelistet in der Reihenfolge ihres
Vorrangs, um zu bestimmen, in welcher Version das Paket zu installieren ist.
•Führen Sie niemals ein
Downgrade durch, außer wenn die Priorität verfügbarer
Pakete 1000 übersteigt. (»Downgrading« ist das
Installieren einer weniger aktuellen Version, an Stelle einer aktuelleren
Version. Beachten Sie, dass keine Standardpriorität von APT 1000
übersteigt. So hohe Prioritäten können nur durch die
Einstellungsdatei gesetzt werden. Beachten Sie außerdem, dass
Downgrading eines Paketes riskant sein kann.)
•installiert die Version mit der
höchsten Priorität.
•Wenn zwei oder mehr Versionen die
gleiche Priorität haben, wird die aktuellste installiert (das ist die
mit der höheren Versionsnummer).
•Wenn zwei oder mehr Versionen die
gleiche Priorität und Versionsnummer haben, die Pakete sich aber
entweder in ihren Metadaten unterscheiden oder die Option --reinstall
angegeben wurde, wird die nicht installierte installiert.
In einer typischen Situation ist die Version eines Paketes (Priorität
100) nicht so aktuell, wie eine der verfügbaren Versionen, die in den
Quellen in der Datei sources.list(5) aufgeführt sind
(Priorität 500 oder 990). Dann wird ein Upgrade des Pakets
durchgeführt, wenn apt-get install irgendein_Paket
oder apt-get upgrade ausgeführt wird.
Seltener ist die installierte Version eines Pakets neuer als jede andere
der verfügbaren Versionen. Für das Paket wird kein Downgrade
durchgeführt, wenn apt-get install irgendein_Paket
oder apt-get upgrade ausgeführt wird.
Manchmal ist die installierte Version eines Pakets aktueller, als die Version,
die zum Ziel-Release gehört, aber nicht so aktuell, wie eine Version,
die zu einer anderen Distribution gehört. Für ein derartiges
Paket wird tatsächlich ein Upgrade durchgeführt, wenn apt-get
install irgendein_Paket oder apt-get upgrade
ausgeführt wird, weil mindestens eine der verfügbaren
Versionen eine höhere Priorität als die installierte Version
hat.
Phased Updates
APT understands a field called Phased-Update-Percentage which can be used to control the rollout of a new version. It is an integer between 0 and 100. A system's eligibility to a phased update is determined by seeding random number generator with the package source name, the version number, and /etc/machine-id, and then calculating an integer in the range [0, 100]. If this integer is larger than the Phased-Update-Percentage, the version is pinned to 1, and thus held back. Otherwise, normal policy rules apply. In case you have multiple systems that you want to receive the same set of updates, you can set APT::Machine-ID to a UUID such that they all phase the same, or set APT::Get::Never-Include-Phased-Updates or APT::Get::Always-Include-Phased-Updates to true such that APT will never/always consider phased updates.Die Auswirkungen von APT-Einstellungen
Die APT-Einstellungsdatei erlaubt dem Systemverwalter die Zuweisung von Prioritäten zu steuern. Die Datei besteht aus einem oder mehreren mehrzeiligen Datensätzen, die durch leere Zeilen getrennt sind. Datensätze können eine von zwei Gestalten haben, eine spezielle Gestalt oder eine allgemeine Gestalt.•Die spezielle Gestalt weist die
Priorität (eine »Pin-Priorität«) einem oder
mehreren angegebenen Paketen mit einer bestimmten Version oder einem
bestimmten Versionsbereich zu. Der folgende Datensatz weist zum Beispiel allen
Versionen des perl-Pakets eine hohe Priorität zu, deren Versionsnummer
mit »5.32« beginnt. Mehrere Pakete können durch
Leerzeichen getrennt werden.
Package: perl Pin: version 5.32* Pin-Priority: 1001
•Die allgemeine Gestalt weist allen
Paketversionen in einer gegebenen Distribution (d.h. allen Versionen von
Paketen, die in einer bestimmten Release-Datei gelistet sind) oder allen
Paketversionen, die von einer speziellen Internet-Site kommen, die durch ihren
vollständig dargestellten Domain-Namen identifiziert wird, eine
Priorität zu.
Dieser Eintrag in allgemeiner Form in der APT-Einstellungsdatei gilt nur
für Gruppen von Paketen. Der folgende Eintrag weist zum Beispiel allen
Paketversionen mit lokalem Ursprung eine hohe Priorität zu.
Eine Mahnung zur Vorsicht: Das hier benutzte Schlüsselwort ist
»origin«, was zum Abgleich mit einem Rechnernamen benutzt werden
kann. Der folgende Eintrag wird allen Versionen eine hohe Priorität
zuweisen, die auf dem Server verfügbar sind, der durch den Rechnernamen
»ftp.de.debian.org« identifiziert wird.
Dies sollte nicht mit der Herkunft einer Distribution verwechselt werden, wie
sie in einer Release-Datei angegeben wurde. Was dem
»Origin:«-Kennzeichen in einer Release-Datei folgt, ist keine
Internet-Adresse, sondern ein Autoren- oder Anbietername, wie
»Debian« oder »Ximian«.
Der folgende Datensatz weist allen Paketversionen, die zu Distributionen
gehören, deren Archivname »unstable« ist, eine niedrige
Priorität zu.
Der folgende Datensatz weist allen Paketversionen, die zu einer Distribution
gehören, deren Codename »trixie« ist, eine hohe
Priorität zu.
Der folgende Datensatz weist allen Paketversionen, die zu einer Distribution
gehören, deren Archivname »stable« und deren
Release-Nummer »12« ist, eine hohe Priorität zu.
Package: * Pin: origin "" Pin-Priority: 999
Package: * Pin: origin "ftp.de.debian.org" Pin-Priority: 999
Package: * Pin: release a=unstable Pin-Priority: 50
Package: * Pin: release n=trixie Pin-Priority: 900
Package: * Pin: release a=stable, v=12 Pin-Priority: 500
Matching packages in the Package field
The Package field specifies the package that a pinning priority is applied to. The field can either contain a binary package name, a source package name (prefixed with "src:"), a glob(7) expression or a regular expression (surrounded by slashes). Multiple package names, glob(7) expressions and regular expressions can be listed separated by whitespace in which case the record will match any of the matched packages. By default, only packages of the native architecture are matched. To match binary packages of any architecture, add the :any suffix to the package name. You can also limit matching to a specific architecture by appending the architecture name to the package name, separated by a colon character. For example, the following example uses a glob expression and a regular expression to assign the priority 500 to all packages from experimental where the name starts with gnome (as a glob(7)-like expression) or contains the word kde (as a POSIX extended regular expression surrounded by slashes).Package: gnome* /kde/ Pin: release a=experimental Pin-Priority: 500
Package: * Pin: release n=lunar* Pin-Priority: 990
Package: src:apt Pin: version 2.6.1 Pin-Priority: 990
Package: src:*apt*:any Pin: version * Pin-Priority: 990
Wie APT Prioritäten interpretiert
Die in der APT-Einstellungsdatei zugewiesenen Prioritäten (P) müssen positive oder negative Ganzzahlen sein. Sie werden wie folgt interpretiert (grob gesagt): P >= 1000veranlasst, dass eine Version installiert
wird, selbst wenn dies ein Downgrade des Pakets durchführt
990 <= P < 1000
veranlasst, dass eine Version installiert
wird, auch wenn diese nicht vom Ziel-Release kommt, außer wenn die
installierte Version aktueller ist
500 <= P < 990
veranlasst, dass eine Version installiert
wird, außer wenn eine Version verfügbar ist, die zum
Ziel-Release gehört oder die installierte Version neuer ist
100 <= P < 500
veranlasst, dass eine Version installiert
wird, außer wenn eine Version verfügbar ist, die zu einer
anderen Distribution gehört oder die installierte Version neuer
ist
0 < P < 100
veranlasst, dass eine Version nur dann
installiert wird, wenn es keine installierte Version des Pakets gibt
P < 0
verhindert das Installieren der Version
P = 0
hat kein definiertes Verhalten, verwenden Sie
es nicht.
Der erste Datensatz mit speziellem Format der zu einer verfügbaren
Paketversion passt, legt die Priorität der Paketversion fest.
Schlägt dies fehl, wird die Priorität als Maximum aller
Prioritäten der Datensätze mit generischem Format definiert, die
zu einer verfügbaren Version passen. Datensätze, die so
definiert sind, dass sie andere Muster als »*« im Feld Pin
verwenden, werden wie Datensätze mit speziellem Format betrachtet.
Nehmen wir zum Beispiel an, die APT-Einstellungsdatei enthält die drei
bereits gezeigten Datensätze:
Package: perl Pin: version 5.32* Pin-Priority: 1001 Package: * Pin: origin "" Pin-Priority: 999 Package: * Pin: release unstable Pin-Priority: 50
•Es wird die aktuellste
verfügbare Version des Pakets perl installiert, so lange die
Versionsnummer mit »5.32« anfängt. Wenn irgendeine
5.32*-Version von perl verfügbar ist und die installierte Version 5.36*
ist, dann wird von perl ein Downgrade durchgeführt.
•Eine Version irgendeines anderen
Pakets als perl, die vom lokalen System verfügbar ist, hat
Priorität über andere Versionen, sogar wenn diese Versionen zum
Ziel-Release gehören.
•Eine Version eines Pakets, dessen
Ursprung nicht das lokale System ist, aber ein anderer in
sources.list(5) aufgelisteter Ort und der zu einer
unstable-Distribution gehört, wird nur installiert, falls es zur
Installation ausgewählt wurde und nicht bereits eine Version des Pakets
installiert ist.
Festlegung von Paketversion und Distributions-Eigenschaften
Die in der sources.list(5)-Datei aufgelisteten Orte sollten Packages- und Release-Dateien bereitstellen, um die an diesem Ort verfügbaren Pakete zu beschreiben. Die Packages-Datei wird normalerweise im Verzeichnis .../dists/ Distributions-Name/ Bestandteil/Architektur gefunden, zum Beispiel .../dists/stable/main/binary-i386/Packages. Sie besteht aus einer Serie mehrzeiliger Datensätze, einem für jedes verfügbare Paket in diesem Verzeichnis. In jedem Datensatz sind nur zwei Zeilen zum Setzen der APT-Prioritäten relevant: die Package:-Zeilegibt den Paketnamen an
die Version:-Zeile
gibt die Versionsnummer für das
genannte Paket an
Die Release-Datei ist normalerweise im Verzeichnis .../dists/
Distributionsname zu finden, zum Beispiel .../dists/stable/Release oder
.../dists/bookworm/Release. Sie besteht aus einem einzelnen mehrzeiligen
Datensatz, der auf alle Pakete im Verzeichnisbaum unterhalb des
übergeordneten Verzeichnisses zutrifft. Anders als die Packages-Datei
sind nahezu alle Zeilen in einer Release-Datei für das Setzen von
APT-Prioritäten relevant:
die Archive:- oder Suite:-Zeile
benennt das Archiv, zu dem alle Pakete im
Verzeichnisbaum gehören. Die Zeile »Archive: stable« oder
»Suite: stable« gibt zum Beispiel an, dass alle Pakete im
Verzeichnisbaum unterhalb des der Release-Datei übergeordneten
Verzeichnisses sich in einem stable-Archiv befinden. Diesen Wert in der
APT-Einstellungsdatei anzugeben würde die folgende Zeile
benötigen:
die Codename:-Zeile
Pin: release a=stable
benennt den Codenamen, zu dem alle Pakete im
Verzeichnisbaum gehören. Die Zeile »Codename: trixie«
gibt zum Beispiel an, dass alle Pakete im Verzeichnisbaum unterhalb des der
Release-Datei übergeordneten Verzeichnisses zu einer Version mit Namen
trixie gehören. Diesen Wert in der APT-Einstellungsdatei anzugeben
würde die folgende Zeile benötigen:
die Version:-Zeile
Pin: release n=trixie
benennt die Release-Version. Die Pakete im
Baum könnten zum Beispiel zur Debian-Release-Version 12 gehören.
Beachten Sie, dass es normalerweise keine Versionsnummer für testing-
und unstable-Distributionen gibt, weil sie noch nicht veröffentlicht
wurden. Diese in der APT-Einstellungsdatei anzugeben würde eine der
folgenden Zeilen benötigen:
die Component:-Zeile
Pin: release v=12 Pin: release a=stable, v=12 Pin: release 12
benennt den Lizenzierungsbestandteil, die den
Paketen im Verzeichnisbaum der Release-Datei zugeordnet ist. Die Zeile
»Component: main« gibt zum Beispiel an, dass alle Pakete im
Verzeichnisbaum von der main-Komponente stammen, was zur Folge hat, dass sie
unter den Bedingungen der Debian-Richtlinien für Freie Software stehen.
Diese Komponente in der APT-Einstellungsdatei anzugeben würde die
folgende Zeilen benötigen:
die Origin:-Zeile
Pin: release c=main
benennt den Urheber des Pakets im
Verzeichnisbaum der Release-Datei. Zumeist ist dies Debian. Um diesen Ursprung
in der APT-Einstellungsdatei anzugeben, würde die folgende Zeile
benötigt:
die Label:-Zeile
Pin: release o=Debian
benennt die Beschriftung des Pakets im
Verzeichnisbaum der Release-Datei. Zumeist ist dies Debian. Diese Beschriftung
in der APT-Einstellungsdatei anzugeben würde die folgende Zeile
benötigen:
Alle Packages- und Release-Dateien, die von Orten heruntergeladen werden, die in
der Datei sources.list(5) aufgelistet sind, werden im Verzeichnis
/var/lib/apt/lists oder in der von der Variablen Dir::State::Lists in der
Datei apt.conf benannten Datei gespeichert. Die Datei
debian.lcs.mit.edu_debian_dists_unstable_contrib_binary-i386_Release
enthält zum Beispiel die Release-Datei, die von der Site
debian.lcs.mit.edu für die binary-i386-Architekturdateien von der
contrib-Bestandteil der unstable-Distribution heruntergeladen wurde.
Pin: release l=Debian
Optionale Zeilen in einem APT-Einstellungsdatensatz
Optional kann jeder Datensatz in der APT-Einstellungsdatei mit einer oder mehreren Zeilen beginnen, die mit dem Wort Explanation: anfangen. Dieses stellt einen Platz für Kommentare bereit.BEISPIELE
Stable verfolgen
Die folgende APT-Einstellungsdatei wird APT veranlassen, allen Paketversionen eine höhere Priorität als die Vorgabe (500) zu geben, die zu einer stable-Distribution gehören und eine ungeheuer niedrige Priorität zu Paketversionen, die zu anderen Debian-Distributionen gehören.Explanation: Deinstallieren oder nicht installieren von anderen von Debian Explanation: stammenden Paketversionen als denen der Stable-Distribution Package: * Pin: release a=stable Pin-Priority: 900 Package: * Pin: release o=Debian Pin-Priority: -10
apt-get install Paketname apt-get upgrade apt-get dist-upgrade
apt-get install Paket/testing
Testing oder Unstable verfolgen
Die folgende APT-Einstellungsdatei wird APT veranlassen, Paketversionen der testing-Distribution eine hohe Priorität, Paketversionen der unstable-Distribution eine niedrigere Priorität und eine ungeheuer niedrige Priorität zu Paketversionen von anderen Debian-Distributionen zuzuweisen.Package: * Pin: release a=testing Pin-Priority: 900 Package: * Pin: release a=unstable Pin-Priority: 800 Package: * Pin: release o=Debian Pin-Priority: -10
apt-get install Paketname apt-get upgrade apt-get dist-upgrade
apt-get install Paket/unstable
Die Entwicklung eines Codename-Releases verfolgen
Die folgende APT-Einstellungsdatei wird APT veranlassen, allen Paketen, die zu einem bestimmten Codenamen einer Distribution gehören, eine höhere Priorität als die Vorgabe (500) zu geben und Paketversionen, die zu anderen Debian-Distributionen, Codenamen und Archiven gehören, eine ungeheuer niedrige Priorität zu geben. Beachten Sie, dass APT mit diesen APT-Einstellungen der Migration eines Releases vom Archiv testing zu stable und später zu oldstable folgen wird. Wenn Sie zum Beispiel dem Fortschritt in testing folgen möchten, obwohl der Codename sich ändert, sollten Sie die Beispielkonfigurationen oberhalb benutzen.Explanation: Deinstallieren oder nicht installieren von anderen von Debian Explanation: stammenden Paketversionen als denen der trixie- Explanation: oder Sid-Distribution Package: * Pin: release n=trixie Pin-Priority: 900 Explanation: Debian-Unstable hat immer den Codenamen sid Package: * Pin: release a=sid Pin-Priority: 800 Package: * Pin: release o=Debian Pin-Priority: -10
apt-get install Paketname apt-get upgrade apt-get dist-upgrade
apt-get install Paket/sid
DATEIEN
/etc/apt/preferencesVersion-Einstellungsdatei. Hier können
Sie "pinning" festlegen, d.h. eine Einstellung, um bestimmte Pakete
aus einer separaten Quelle oder von einer anderen Version einer Distribution
zu erhalten. Konfigurationselement: Dir::Etc::Preferences.
/etc/apt/preferences.d/
Dateifragmente für die
Versionseinstellungen. Konfigurationselement:
Dir::Etc::PreferencesParts.
SIEHE AUCH
apt-get(8) apt-cache(8) apt.conf(5) sources.list(5)FEHLER
APT-Fehlerseite[1]. Wenn Sie einen Fehler in APT berichten möchten, lesen Sie bitte /usr/share/doc/debian/bug-reporting.txt oder den reportbug(1)-Befehl. Verfassen Sie Fehlerberichte bitte auf Englisch.ÜBERSETZUNG
Die deutsche Übersetzung wurde 2009 von Chris Leick <[email protected]> in Zusammenarbeit mit dem deutschen l10n-Team von Debian <[email protected]> angefertigt. Beachten Sie, dass diese Übersetzung Teile enthalten kann, die nicht übersetzt wurden. Dies ist so, damit kein Inhalt verloren geht, wenn die Übersetzung hinter dem Originalinhalt hinterherhängt.AUTOR
APT-TeamFUßNOTEN
- 1.
- APT-Fehlerseite
03 Januar 2022 | APT 2.6.1 |