table of contents
dpkg-divert(1) | dpkg suite | 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¶
Ü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.
2023-05-11 | 1.21.22 |