update-alternatives(8)

NAME
update-alternatives - Verwaltung symbolischer Links zur Bestimmung von Standardwerten für Befehle

ÜBERSICHT
update-alternatives [Optionen] Befehl

BESCHREIBUNG
update-alternatives erzeugt, entfernt, verwaltet und zeigt die Informationen über die symbolischen Links, die das »Debian Alternativ-System« bilden, an.

Es ist möglich, mehrere Programme, die die gleiche oder ähnliche Funktionalität bereitstellen, gleichzeitig auf einem System zu installieren. Beispielsweise sind auf vielen Systemen mehrere Texteditoren gleichzeitig installiert. Dies gibt den Benutzern eines Systems die Möglichkeit, falls gewünscht, jeweils einen anderen Editor zu verwenden, allerdings wird es damit für ein Programm schwierig, einen guten Wahl für einen Editor zum Starten zu treffen, falls der Benutzer keine spezielle Wahl getroffen hat.

Debians Alternativ-System hat das Ziel, dieses Problem zu lösen. Ein generischer Name im Dateisystem wird von allen Dateien, die austauschbare Funktionalität bereitstellen, verwendet. Das Alternativ-System bestimmt zusammen mit dem Systemadministrator welche Datei tatsächlich durch diesen generischen Namen referenziert wird. Falls beispielsweise sowohl der Texteditor ed(1) als auch nvi(1) im System installiert sind, wird das Alternativ-System dafür sorgen, dass der generische Name /usr/bin/editor standardmäßig auf /usr/bin/nvi zeigt. Der Systemadministrator kann dies Ändern und dafür sorgen, dass er stattdessen auf /usr/bin/ed zeigt, und das Alternativ-System wird diese Einstellung nicht verändern, bis es explizit dazu aufgefordert wird.

Der generische Name ist nicht ein direkter symbolischer Link auf die ausgewählte Alternative. Stattdessen ist es ein symbolischer Link auf einen Namen im Alternativ-Verzeichnis, welches wiederum ein symbolischer Link auf die tatsächlich referenzierte Datei ist. Dies ist so realisiert, damit die Änderungen des Systemadministrators auf das /etc Verzeichnis beschränkt bleiben: der FHS (siehe dort) erklärt warum dies eine Gute Idee ist.

Für jedes Paket, das eine Datei mit einer bestimmten Funktionalität bereitstellt, wird bei der Installation, der Änderung oder der Entfernung update-alternatives aufgerufen, um die Informationen über diese Datei im Alternativ-System zu aktualisieren. update-alternatives wird gewöhnlich vom postinst- oder prerm-Skript eines Debian-Paketes aufgerufen.

Es ist oft sinnvoll, dass eine Reihe von Alternativen synchronisiert werden, so dass sie als Gruppe geändert werden; wenn beispielsweise mehrere Versionen des vi(1) Editors installiert sind, sollte die Handbuchseite, die durch /usr/share/man/man1/vi.1 referenziert wird, zu dem ausführbaren Programm, dass durch /usr/bin/vi referenziert wird, gehören. update-alternatives erledigt dies mit Hilfe von Master- und Slave-Links; wird der Master-Link geändert, wird auch jeder zugehörige Slave-Link geändert. Ein Master-Link und seine zugehörigen Slave-Links bilden zusammen eine Link-Gruppe.

Eine Linkgruppe ist zu jeder Zeit in einem der beiden Modi: automatisch oder manuell. Ist eine Gruppe im automatischen Modus, dann wird das Alternativ-System bei der Paketinstallation und -entfernung automatisch entscheiden, ob und wie die Links aktualisiert werden. Im manuellen Modus ändert das Alternativ-System die Links nicht; die Entscheidung verbleibt beim Systemadministrator.

Beim erstmaligen Einführen in das System befindet sich eine Linkgruppe im automatischen Modus. Führt der Systemadministrator Änderungen an den automatischen Einstellungen des Systems durch, wird dies beim nächsten Aufruf von update-alternatives auf die Linkgruppe bemerkt und die Gruppe wird automatisch in den manuellen Modus umgeschaltet.

Jede Alternative hat eine ihr zugeordnete Priorität. Befindet sich eine Linkgruppe im automatischen Modus, zeigen die Mitglieder einer Gruppe auf die Alternative mit der höchsten Priorität.

Wird die --config-Option verwendet, dann zeigt update-alternatives alle Auswahlmöglichkeiten für die Link-Gruppe an, für die der gegebene Name der Master-Link ist. Die aktuelle Auswahl ist mit »*« markiert, und die Auswahl mit der höchsten Priorität mit »+«. Sie werden dann aufgefordert anzugeben, Ihre Auswahl bezüglich der Linkgruppe anzugeben. Sobald Sie eine Änderung durchführen, befindet sich die Linkgruppe nicht mehr im automatischen Modus. Sie müssen dann die --auto Option verwenden, um wieder in den automatischen Zustand zurückzukehren.

Falls Sie nicht-interaktiv konfigurieren möchten, können Sie stattdessen die --set Option verwenden (siehe unten).

Verschiedene Pakete, die die gleiche Datei bereitstellen, müssen dies kooperativ durchführen. Das bedeutet, dass in diesem Fall die Verwendung von update-alternatives für alle beteiligten Pakete zwingend ist. Es ist nicht möglich, sich über eine Datei in einem Paket hinwegzusetzen, welches den update-alternatives-Mechanismus nicht verwendet.

BEGRIFFE
Da die Tätigkeiten von update-alternatives recht komplex sind, sollen einige spezielle Begriffe helfen, seine Vorgehensweise zu erläutern.

generischer Name
    Ein Name wie /usr/bin/editor, der sich über das Alternativ-System auf eine Reihe von Dateien mit ähnlicher Funktionalität bezieht.

Symlink
    Ohne weitere Angabe bedeutet dies ein symbolischer Link im Alternativ-Verzeichnis: einer derer, die vom Systemadministrator angepasst werden sollen.

Alternative
    Der Name einer speziellen Datei im Dateisystem, die mittels eines generischen Namens über das Alternativ-System zugreifbar gemacht werden kann.

Alternativ-Verzeichnis
    Ein Verzeichnis, standardmäßig /etc/alternatives, das die Symlinks enthält.

administratives Verzeichnis
    Ein Verzeichnis, standardmäßig /var/lib/dpkg/alternatives, das die update-alternatives Zustandsinformationen enthält.

Linkgruppe
    Ein Satz zusammengehörender Symlinks, die als Gruppe aktualisiert werden sollen.

Master-Link
    Der Link in einer Linkgruppe der bestimmt, wie die anderen Links in der Gruppe konfiguriert werden.

Slave-Link
    Ein Link in einer Linkgruppe, der durch die Einstellung des Master-Links bestimmt wird.

automatischer Modus
    Ist eine Linkgruppe im automatischen Modus, dann sorgt das Alternativ-System dafür, dass die Links in der Gruppe auf die für die Gruppe passende Alternative mit der höchsten Priorität zeigen.

manueller Modus
    Ist eine Linkgruppe im manuellen Modus, dann führt das Alternativ-System keine Änderungen an den Einstellungen des Systemadministrators durch.

BEFEHLE

--install Genname Symlink Altern Priorität [--slave Genname Symlink Altern] ...
    Füge eine Gruppe von Alternativen zum System hinzu. Genname ist der generische Name des Master-Links, Symlink ist der Name seines Symlinks im Alternativ-Verzeichnis und Altern ist die Alternative, die für den Master-Link eingeführt wird. Die Argumente nach --slave sind der generische Name, Symlink-Name in dem Alternativ-Verzeichnis und die Alternative für den Slave-Link. Null oder mehrere --slave-Optionen, jede von drei Argumenten gefolgt, können spezifiziert werden.

    Falls der angegebene Master-Symlink bereits in den Datensätzen des Alternativ-Systems existiert, dann wird die angegebene Information als neuer Satz von Alternativen für die Gruppe hinzugefügt. Andernfalls wird eine neue Gruppe im automatischen Modus mit dieser Information hinzugefügt. Falls die Gruppe im automatischen Modus ist, und die Priorität der neu hinzugefügten Alternative höher ist als alle installierten Alternativen für diese Gruppe, dann werden die Symlinks aktualisiert, um auf die neu hinzugefügte Alternative zu zeigen.

--set Name Pfad
    Setzt das Programm Pfad als Alternative für Name. Dies ist äquivalent zu --config, ist aber nicht interaktiv und kann somit geskriptet werden.

--remove Name Pfad
    Entferne eine Alternative und alle zugehörigen Slave-Links. Name ist ein Name im Alternativ-Verzeichnis, und Pfad ist ein absoluter Dateiname zu dem Name gelinkt werden könnte. Falls Name tatsächlich nach Pfad gelinkt ist, dann wird Name aktualisiert um auf eine andere geeignete Alternative zu zeigen, oder entfernt, falls keine solche Alternative übrig bleibt. Zugehörige Slave-Links werden entsprechend aktualisiert oder entfernt. Falls der Link derzeit nicht auf Pfad zeigt, werden keine Links geändert; nur die Information über die Alternative wird entfernt.

--remove-all Name
    Entferne alle Alternativen und deren zugehörige Slave-Links. Name ist ein Name im Alternativ-Verzeichnis.

--all
    Rufe --config für alle Alternativen auf.

--auto Link
    Überführt den Master-Link Link in den automatischen Modus. Bei diesem Prozess werden dieser Symlink und seine Slave-Links aktualisiert, um auf die installierte Alternative mit höchster Priorität zu zeigen.

--display Link
    Zeige Informationen über die Linkgruppe an, von der Link der Master-Link ist. Die angezeigten Informationen enthalten den Modus der Gruppe (automatisch oder manuell), auf welche Alternative der Symlink derzeit zeigt, welche weiteren Alternativen zur Verfügung stehen (und ihre zugehörigen Slave-Alternativen), und die installierte Alternative mit der höchsten Priorität.

--list Link
    Zeige alle Ziele der Linkgruppe an.

--config Link
    Zeige die verfügbaren Alternativen für eine Linkgruppe an und erlaube es dem Benutzer interaktiv auszuwählen, welche zu benutzen ist. Die Linkgruppe wird aktualisiert und aus dem automatischen Modus genommen.

--help
    Zeige den Bedienungshinweis und beende.

--version
    Gebe die Version aus und beende sich.

OPTIONEN

--altdir Verzeichnis
    Spezifiziert das Alternativ-Verzeichnis, wenn sich dieses von der Standardeinstellung unterscheiden soll.

--admindir Verzeichnis
    Spezifiziert das administrative Verzeichnis, wenn sich dieses von der Standardeinstellung unterscheiden soll.

--verbose
    Erzeugt mehr Kommentare über die Tätigkeit von update-alternatives.

--quiet
    Erzeuge keine Kommentare, es sei denn, ein Fehler tritt auf. Diese Option ist noch nicht implementiert.

DATEIEN

/etc/alternatives/
    Das standardmäßige Alternativ-Verzeichnis. Kann mittels der Option --altdir geändert werden.

/var/lib/dpkg/alternatives/
    Das standardmäßige administrative Verzeichnis. Kann mittels der --admindir Option geändert werden.

RÜCKGABEWERT

0   Die angeforderte Aktion wurde erfolgreich ausgeführt.

2   Beim Lesen der Kommandozeile oder beim Ausführen der Aktion traten Probleme auf.

DIAGNOSE
update-alternatives quatscht ohne Unterlass über seine Aktivitäten auf seinem Standardausgabekanal. Falls Probleme auftreten, gibt update-alternatives eine Fehlermeldung auf seinem Standardfehlerkanal aus und beendet sich mit dem Exit-Status 2. Die Diagnostiken sollten selbsterklärend sein; falls Sie dies nicht so empfinden, melden Sie dies bitte als Fehler.

BEISPIELE
Es gibt mehrere Pakete, die einen zum vi-kompatiblen Texteditor bereitstellen, beispielsweise nvi und vim. Welcher benutzt wird, wird durch die Linkgruppe vi eingestellt, welche Links für das Programm selber und die zugehörige Handbuchseite beinhaltet.

Um alle verfügbaren Programme anzuzeigen, die vi bereitstellen, und die dazu gehörigen Einstellungen, benutzen Sie die --display Aktion:

    update-alternatives --display vi

Um eine bestimmte vi-Implementation auszuwählen, benutzen Sie als Root den folgenden Befehl und wählen dann eine Zahl aus der Liste aus:

    update-alternatives --config vi

Um zur automatischen Auswahl der vi-Implementation zurückzukehren, führen Sie folgendes als Root aus:

    update-alternatives --auto vi

FEHLER
Falls Sie einen Fehler finden, melden Sie ihn bitte über das Debian Fehlerverfolgungssystem, oder, falls dies nicht möglich ist, schicken Sie eine E-Mail (auf Englisch) direkt an den Autor.

Falls Sie einen Unterschied zwischen der Implementation von update-alternatives und dieser Handbuchseite finden, ist dies ein Fehler, entweder in der Implementation oder in der Dokumentation; bitte melden Sie dies.

AUTOR
Copyright (C) 1995 Ian Jackson

Dies ist Freie Software; lesen Sie die GNU General Public License Version 2 oder neuer für die Kopierbedingungen. Es gibt KEINE Haftung.

Diese Handbuchseite ist Copyright 1997,1998 durch Charles Briscoe-Smith.

Dies ist Freie Dokumentation; lesen Sie die GNU General Public License Version 2 oder neuer für die Kopierbedingungen. Es gibt KEINE Haftung.

ÜBERSETZUNG
Die deutsche Übersetzung wurde 2004, 2006-2008 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.

SIEHE AUCH
ln(1), FHS, der Dateisystem Hierarchie-Standard (Filesystem Hierarchy Standard).