dpkg-divert(1)

BEZEICHNUNG
dpkg-divert - Über die Paketversion einer Datei hinwegsetzen

ÜBERSICHT
dpkg-divert [Option …] Befehl

BESCHREIBUNG
dpkg-divert ist ein Hilfswerkzeug, um die Liste der Umleitungen einzurichten und zu aktualisieren.

Datei-Diversionen (Umleitungen) sind eine Möglichkeit, dpkg(1) dazu zu zwingen, eine Datei nicht an ihren Standardplatz, sondern an einem umgeleiteten Ort zu installieren. Umleitungen können innerhalb der Debian-Paketskripte verwendet werden, um eine Datei beiseitezuschieben, wenn sie einen Konflikt auslöst. Systemadministratoren können sie auch verwenden, um sich über die Konfigurationsdateien einiger Pakete hinwegzusetzen, oder wann immer einige Dateien (die nicht als „Conffiles“ markiert sind) von dpkg erhalten werden müssen, wenn eine neuere Version eines Paketes, die diese Dateien enthält, installiert wird.

BEFEHLE

[--add] Datei
    Fügt eine Umleitung für Datei hinzu. Die Datei wird derzeit nicht umbenannt, siehe --rename.

--remove Datei
    Entfernt eine Umleitung für Datei. Die Datei wird derzeit nicht umbenannt, siehe --rename.

--list [Glob-Muster]
    Listet Umleitungen auf, oder die, die auf Glob-Muster passen.

--listpackage Datei
    Gibt den Namen des Pakets aus, welches die Datei umleitet (seit Dpkg 1.15.0). Gibt LOCAL aus, falls die Datei lokal umgeleitet wurde und nichts, falls Datei nicht umgeleitet wurde.

--truename Datei
    Zeigt den echten Namen für eine umgeleitete Datei an.

OPTIONEN

--admindir Verzeichnis
    Setzt das administrative Verzeichnis auf Verzeichnis (Standard: „/var/lib/dpkg“, falls DPKG_ADMINDIR nicht gesetzt wurde.).

--instdir Verzeichnis
    Setzt das Installationsverzeichnis, das sich auf das Verzeichnis bezieht, in dem Pakete installiert werden (seit Dpkg 1.19.2). Standardmäßig „/“, falls DPKG_ROOT nicht gesetzt wurde.

--root Verzeichnis
    Setzt das Wurzelverzeichnis auf Verzeichnis, wodurch das Installationsverzeichnis auf „Verzeichnis“ und das administrative Verzeichnis auf „Verzeichnis/var/lib/dpkg“ gesetzt wird (seit Dpkg 1.19.2), falls DPKG_ROOT nicht gesetzt wurde.

--divert Umleitziel
    Umleitziel ist der Zielort, wohin die Versionen der Datei, wie sie von anderen Paketen bereitgestellt wird, umgeleitet werden.

--local
    Gibt an, dass alle Versionen dieser Datei umgeleitet sind. Dies bedeutet, dass es keine Ausnahmen gibt, und egal was für ein Paket auch installiert ist, die Datei ist umgeleitet. Dies kann vom Administrator verwendet werden, um eine lokal geänderte Version zu installieren.

--package Paket
    Paket ist der Name des Pakets, dessen Kopie von Datei nicht umgeleitet wird, d.h. Datei wird für alle Pakete außer Paket umgeleitet.

--quiet
    Stiller Modus, d.h. keine ausführliche Ausgabe.

--rename
    Schiebt die Dateien tatsächlich beiseite (oder zurück). dpkg-divert wird den Arbeitsvorgang abbrechen, falls die Zieldatei bereits existiert. Dies ist das typische Verhalten, das für Umleitungen von Dateien aus der Gruppe der nicht-Essential-Pakete verwandt wird (siehe --no-rename für weitere Details).

--no-rename
    Legt fest, dass die Datei beim Hinzufügen oder Entfernen der Umleitung in die Datenbank nicht umbenannt werden soll (seit Dpkg 1.19.1). Dies ist für Umleitungen von Dateien aus der Paketgruppe Essential gedacht, bei der das vorübergehende Verschwinden der ursprünglichen Datei nicht akzeptiert werden kann, da es zu einem nicht funktionalen System führen kann. Dies ist das Standardverhalten, was sich allerdings im Dpkg 1.20.x-Zyklus ändern wird.

--test
    Testmodus, d.h. führt keine Änderungen durch, sondern zeigt sie lediglich.

-?, --help
    Zeigt einen Hinweis zum Aufruf und beendet das Programm.

--version
    Gibt die Version aus und beendet das Programm.

RÜCKGABEWERT

0   Die angeforderte Aktion wurde erfolgreich ausgeführt.

2   Fataler oder nicht behebbarer Fehler aufgrund eines ungültigen Befehlszeilenaufrufs oder Interaktionen mit dem System, wie Zugriffe auf die Datenbank, Speicherzuweisungen usw.

UMGEBUNG

DPKG_ROOT
    Falls gesetzt und die Option --instdir oder --root nicht angegeben wurde, wird dies als Dateisystemwurzelverzeichnis verwandt (seit Dpkg 1.19.2).

DPKG_ADMINDIR
    Falls gesetzt und die Option --admindir oder --root nicht verwandt wurde, wird dies als Datenverzeichnis von dpkg verwandt.

DPKG_MAINTSCRIPT_PACKAGE
    Falls gesetzt und die Optionen --local und --package nicht verwandt wurden, wird dpkg-divert dies als Paketnamen verwenden.

DPKG_DEBUG
    Setzt die Fehlersuchmaske (seit Dpkg 1.21.10) aus einem oktalen Wert. Die derzeit akzeptierten Schalter werden in der Option dpkg --debug beschrieben, aber nicht alle dieser Schalter könnten Auswirkungen auf dieses Programm haben.

DPKG_COLORS
    Setzt den Farbmodus (seit Dpkg 1.18.5). Die derzeit unterstützten Werte sind: auto (Vorgabe), always und never.

DATEIEN

/var/lib/dpkg/diversions
    Datei, die die aktuelle Liste von Umleitungen des Systems enthält. Sie befindet sich im dpkg-Administrationsverzeichnis, zusammen mit anderen für dpkg wichtigen Dateien, wie status oder available.

    Hinweis: dpkg-divert erhält die alte Kopie dieser Datei, mit der Endung -old, bevor es sie durch die neue ersetzt.

BEMERKUNGEN
Beim Hinzufügen ist die Standardeinstellung --local und --divert Originalname.distrib. Beim Entfernen müssen, falls angegeben, --package oder --local und --divert übereinstimmen.

Verzeichnisse können mit dpkg-divert nicht umgeleitet werden.

Vorsicht sollte beim Umleiten von Laufzeit-Bibliotheken walten gelassen werden, da ldconfig(8) einen symbolischen Link, basierend auf dem in der Bibliothek eingebetteten DT_SONAME-Feld, anlegt. Da ldconfig keine Umleitungen anerkennt (nur dpkg tut dies), kann der Symlink am Ende auf die umgeleitete Bibliothek zeigen, falls die umgeleitete Bibliothek den gleichen SONAME wie die nicht umgeleitete hat.

BEISPIELE
Um alle Kopien von /usr/bin/example auf /usr/bin/example.foo umzuleiten, d.h. alle Pakete, die /usr/bin/example zur Verfügung stellen, dazu anzuleiten, diese Datei stattdessen als /usr/bin/example.foo zu installieren und die Umbenennung, falls notwendig, durchzuführen:

 dpkg-divert --divert /usr/bin/example.foo --rename /usr/bin/example

Um diese Umleitung zu entfernen:

 dpkg-divert --rename --remove /usr/bin/example

Um für jedes Paket - außer Ihrem eigenen wibble-Paket -, das versucht, /usr/bin/example zu installieren, dieses auf /usr/bin/example.foo umzuleiten:

 dpkg-divert --package wibble --divert /usr/bin/example.foo \
    --rename /usr/bin/example

Um diese Umleitung zu entfernen:

 dpkg-divert --package wibble --rename --remove /usr/bin/example

SIEHE AUCH
dpkg(1).

ÜBERSETZUNG
Die deutsche Übersetzung wurde 2004, 2006-2023 von Helge Kreutzmann <debian@helgefjell.de>, 2007 von Florian Rehnisch <eixman@gmx.de> und 2008 von Sven Joachim <svenjoac@gmx.de> angefertigt. Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 2 oder neuer für die Kopierbedingungen. Es gibt KEINE HAFTUNG.