Man page - update-alternatives(1)
Packages contains this manual
Available languages:
en fr pt nl sv deManual
update-alternatives
BEZEICHNUNGĂBERSICHT
BESCHREIBUNG
BEGRIFFE
BEFEHLE
OPTIONEN
RĂCKGABEWERT
UMGEBUNG
DATEIEN
ABFRAGE-FORMAT
Beispiel
DIAGNOSE
BEISPIELE
SIEHE AUCH
ĂBERSETZUNG
BEZEICHNUNG
update-alternatives - Verwaltung symbolischer Links zur Bestimmung von Standardwerten fĂŒr Befehle
ĂBERSICHT
update-alternatives [ Option âŠ] Befehl
BESCHREIBUNG
update-alternatives erzeugt, entfernt, verwaltet und zeigt die Informationen ĂŒber die symbolischen Links, die das â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, eine gute Wahl fĂŒr einen Editor zum Starten zu treffen, falls der Benutzer keine spezielle Wahl getroffen hat.
Das 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 kein 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.
Wenn ein Paket, das eine Datei mit einer bestimmten FunktionalitĂ€t bereitstellt, installiert, geĂ€ndert oder entfernt wird, wird update-alternatives aufgerufen, um die Informationen ĂŒber diese Datei im Alternatives-System zu aktualisieren. update-alternatives wird normalerweise in den folgenden Debian-Paketbetreuerskripten aufgerufen: postinst (configure), um die Alternative zu installieren und von prerm und postrm (remove), um die Alternative zu entfernen. Hinweis : In den meisten (wenn nicht allen) FĂ€llen sollte keine weitere Betreuerskriptaktion update-alternatives aufrufen, insbesondere weder upgrade noch disappear , da jede dieser anderen Aktionen zum Verlust des manuellen Zustands einer Alternative, oder zum Hin-und Herspringen oder zum kompletten Umspringen, wenn mehrere von ihnen die gleiche PrioritĂ€t haben, fĂŒhren kann.
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 wird das Alternativ-System die Wahl des Administrators beibehalten und Ănderungen der Links vermeiden (auĂer irgendetwas ist defekt).
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 Option --config verwendet, dann zeigt update-alternatives alle Auswahlmöglichkeiten fĂŒr die Link-Gruppe an, fĂŒr die der gegebene Name der Master-Alternative-Name ist. Die aktuelle Auswahl ist mit â*â markiert. Sie werden dann aufgefordert, Ihre Auswahl bezĂŒglich der Linkgruppe anzugeben. AbhĂ€ngig von der getroffenen Auswahl könnte sich die Link-Gruppe nicht mehr im automatischen Modus befinden. Sie mĂŒssen dann die Option --auto verwenden, um wieder in den automatischen Zustand zurĂŒckzukehren (oder Sie können --config erneut ausfĂŒhren und den als automatisch markierten Eintrag auswĂ€hlen).
Falls Sie nicht-interaktiv konfigurieren möchten, können Sie stattdessen die Option --set verwenden (siehe unten).
Verschiedene Pakete, die die gleiche Datei bereitstellen, mĂŒssen dies kooperativ durchfĂŒhren. Anders gesagt ist in diesem Fall die Verwendung von update-alternatives fĂŒr alle beteiligten Pakete zwingend . 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 (oder Alternativ-Link)
Ein Name wie /usr/bin/editor , der sich ĂŒber das Alternativ-System auf eine Reihe von Dateien mit Ă€hnlicher FunktionalitĂ€t bezieht.
Alternativ-Name
Der Name eines symbolischen Links im Alternativ-Verzeichnis.
Alternative (oder Alternativ-Pfad)
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 Alternativ-Link in einer Linkgruppe, der bestimmt, wie die anderen Links in der Gruppe konfiguriert werden.
Slave-Link
Ein Alternativ-Link in einer Linkgruppe, der durch die Einstellung des Master-Links gesteuert 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 Link Name Pfad PrioritĂ€t [ --slave Link Name Pfad ] âŠ
FĂŒgt eine Gruppe von Alternativen zum System hinzu. Link ist der generische Name des Master-Links, Name ist der Name seines Symlinks im Alternativ-Verzeichnis und Pfad 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 der Alternativ-Pfad fĂŒr den Slave-Link. Null oder mehrere --slave -Optionen, jede von drei Argumenten gefolgt, können spezifiziert werden. Beachten Sie, dass die Master-Alternative existieren muss, ansonsten schlĂ€gt der Aufruf fehl. Falls allerdings eine Slave-Alternative nicht existiert, wird der zugehörige Slave-Alternative-Link einfach nicht installiert (es wird noch eine Warnung ausgegeben). Falls eine echte Datei an einer Stelle installiert wird, an der ein Alternativ-Link installiert werden muss, wird diese beibehalten, solange --force nicht verwandt wird.
Falls der angegebene Alternativ-Name bereits in den Aufzeichnungen des Alternativ-Systems existiert, werden die angegebenen Informationen als neuer Satz von Alternativen fĂŒr die Gruppe hinzugefĂŒgt. Andernfalls wird eine neue Gruppe, eingestellt im automatischen Modus, mit dieser Information hinzugefĂŒgt. Falls die Gruppe sich im automatischen Modus befindet und die PrioritĂ€t der neu hinzugefĂŒgten Alternative höher ist als die jeder anderen installierten Alternative fĂŒr diese Gruppe, werden die Symlinks aktualisiert, so dass sie auf die neu hinzugefĂŒgte Alternative 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
Entfernt 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 (und die Gruppe wird wieder in den automatischen Modus versetzt) 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
Entfernt alle Alternativen und deren zugehörige Slave-Links. Name ist ein Name im Alternativ-Verzeichnis.
--all
Ruft --config fĂŒr alle Alternativen auf. In der Kombination mit --skip-auto kann dies nĂŒtzlich sein, um alle Alternativen zu prĂŒfen und zu konfigurieren, die sich nicht im automatischen Modus befinden. Defekte Alternativen werden auch angezeigt. Ein Aufruf von yes ââ | update-alternatives --force --all ist daher eine einfache Art, um alle defekten Alternativen zu reparieren.
--auto Name
ĂberfĂŒhrt die Linkgruppe hinter der Alternative mit Name Name in den automatischen Modus. Bei diesem Prozess werden der Master-Symlink und seine Slave-Links aktualisiert, um auf die installierte Alternative mit höchster PrioritĂ€t zu zeigen.
--display Name
Zeigt Informationen ĂŒber die Linkgruppe an. Die angezeigten Informationen enthalten den Modus der Gruppe (automatisch oder manuell), die Master- und Slave-Links, auf welche Alternative der Master-Link 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.
--get-selections
FĂŒhrt alle Master-Alternativ-Namen (die eine Linkgruppe steuern) mit ihrem Status auf (seit Version 1.15.0). Jede Zeile enthĂ€lt bis zu 3 Felder (getrennt durch mindestens ein Leerzeichen). Im ersten Feld steht der Alternativ-Name, im zweiten der Status (entweder auto oder manual ) und im letzten die derzeitige Wahl der Alternative (Achtung: Dies ist ein Dateiname, der Leerzeichen enthalten kann).
--set-selections
Liest eine Konfiguration von Alternativen ĂŒber die Standardeingabe im von â --get-selections â generierten Format und konfiguriert die Alternativen entsprechend neu (seit Version 1.15.0).
--query Name
Zeigt alle Informationen ĂŒber die Linkgruppe an, wie dies auch von --display erfolgt, allerdings in einem maschinenlesbaren Format (seit Version 1.15.0, siehe nachfolgenden Abschnitt "ABFRAGE-FORMAT").
--list Name
Zeigt alle Ziele der Linkgruppe an.
--config Name
Zeigt die verfĂŒgbaren Alternativen fĂŒr eine Linkgruppe an und erlaubt es dem Benutzer, interaktiv auszuwĂ€hlen, welche zu benutzen ist. Die Linkgruppe wird aktualisiert.
--help
Zeigt einen Hinweis zum Aufruf und beendet das Programm.
--version
Gibt die Version aus und beendet das Programm.
OPTIONEN
--altdir Verzeichnis
Spezifiziert das Alternativ-Verzeichnis, wenn sich dieses von der Standardeinstellung unterscheiden soll. Vorgabe ist â /etc/alternatives â.
--admindir Verzeichnis
Spezifiziert das administrative Verzeichnis, wenn sich dieses von der Standardeinstellung unterscheiden soll. Vorgabe ist â /var/lib/dpkg/alternatives â, falls DPKG_ADMINDIR nicht gesetzt wurde.
--instdir Verzeichnis
Spezifiziert das Installationsverzeichnis, in dem Alternatives-Links erstellt werden (seit Dpkg 1.20.1). StandardmĂ€Ăig â / â, falls DPKG_ROOT nicht gesetzt wurde.
--root Verzeichnis
Spezifiziert das Wurzelverzeichnis (seit Version 1.201.). Dies setzt auch passend die Alternatives-, Installations- und administrativen Verzeichnisse. StandardmĂ€Ăig â / â, falls DPKG_ROOT nicht gesetzt wurde.
--log Datei
Gibt die Protokolldatei an (seit Version 1.15.0), wenn diese sich von der Vorgabe (/var/log/alternatives.log) unterscheiden soll.
--force
Erlaubt die Ersetzung oder Entfernung von echten Dateien, die sich an Stellen befinden, an denen ein Alternativ-Link installiert werden muss.
--skip-auto
Ăberspringt die Konfigurationsabfrage fĂŒr Alternativen, die korrekt im automatischen Modus konfiguriert sind. Diese Option ist nur mit --config oder --all relevant.
--quiet
Erzeugt keine Kommentare, es sei denn, ein Fehler tritt auf.
--verbose
Erzeugt mehr Kommentare darĂŒber, was getan wird.
--debug
Erzeugt mehr Kommentare darĂŒber, hilfreich fĂŒr die Fehlersuche, was getan wird (seit Version 1.19.3).
RĂCKGABEWERT
|
0 |
Die angeforderte Aktion wurde erfolgreich ausgefĂŒhrt. |
||
|
2 |
Beim Lesen der Befehlszeile oder beim AusfĂŒhren der Aktion traten Probleme auf. |
UMGEBUNG
DPKG_ROOT
Falls gesetzt und die Option --instdir oder --root nicht angegeben wurde, wird dies als Dateisystemwurzelverzeichnis verwandt.
DPKG_ADMINDIR
Falls gesetzt und die Option --admindir nicht angegeben wurde, wird dies als Basis-Administrationsverzeichnis verwandt.
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.
ABFRAGE-FORMAT
Das Format von
--query
ist ein RFC822-artiges, flaches Format. Es
besteht aus
n
+1 AbsÀtzen, wobei
n
die
Anzahl der in einer abgefragten Linkgruppe verfĂŒgbaren
Alternativen ist. Der erste Absatz enthÀlt die
folgenden Felder:
Name:
Name
Der alternative Name im Alternativ-Verzeichnis.
Link: Link
Der generische Name der Alternative.
Slaves: Liste-von-Slaves
Wenn diese Feld vorhanden ist, enthĂ€lt die nĂ€chste Zeile alle Slave-Links, die dem Master-Link dieser Alternativen zugeordnet sind. Pro Zeile wird ein Slave aufgefĂŒhrt. Jede Zeile enthĂ€lt ein Leerzeichen, den generischen Namen des Slaves, ein weiteres Leerzeichen und den Pfad zu dem Slave-Link.
Status: Status
Der Status der Alternative ( auto oder manual ).
Best: beste-Wahl
Der Pfad der besten Alternative fĂŒr diese Linkgruppe. Nicht vorhanden, falls keine Alternative verfĂŒgbar ist.
Value: derzeit-ausgewÀhlte-Alternative
Der Pfad der derzeit ausgewÀhlten Alternative. Es akzeptiert auch den magischen Wert none , der verwandt wird, falls der Link nicht existiert.
Die anderen
AbsĂ€tze beschreiben die verfĂŒgbaren Alternativen
in der abgefragten Linkgruppe:
Alternative:
Pfad-dieser-Alternativen
Pfad zu der Alternative dieses Absatzes.
Priority: PrioritÀtswert
Wert der PrioritÀt dieser Alternativen.
Slaves: Liste-von-Slaves
Wenn dieses Feld vorhanden ist, enthĂ€lt die nĂ€chste Zeile alle Slave-Alternativen, die dem Master-Link dieser Alternativen zugeordnet sind. Pro Zeile wird ein Slave aufgefĂŒhrt. Jede Zeile enthĂ€lt ein Leerzeichen, den generischen Namen des Slaves, ein weiteres Leerzeichen und den Pfad zu der Slave-Alternative.
Beispiel
$
update-alternatives --query editor
Name: editor
Link: /usr/bin/editor
Slaves:
editor.1.gz /usr/share/man/man1/editor.1.gz
editor.fr.1.gz /usr/share/man/fr/man1/editor.1.gz
editor.it.1.gz /usr/share/man/it/man1/editor.1.gz
editor.pl.1.gz /usr/share/man/pl/man1/editor.1.gz
editor.ru.1.gz /usr/share/man/ru/man1/editor.1.gz
Status: auto
Best: /usr/bin/vim.basic
Value: /usr/bin/vim.basic
Alternative: /bin/ed
Priority: -100
Slaves:
editor.1.gz /usr/share/man/man1/ed.1.gz
Alternative: /usr/bin/vim.basic
Priority: 50
Slaves:
editor.1.gz /usr/share/man/man1/vim.1.gz
editor.fr.1.gz /usr/share/man/fr/man1/vim.1.gz
editor.it.1.gz /usr/share/man/it/man1/vim.1.gz
editor.pl.1.gz /usr/share/man/pl/man1/vim.1.gz
editor.ru.1.gz /usr/share/man/ru/man1/vim.1.gz
DIAGNOSE
Mit --verbose berichtet update-alternatives fortwĂ€hrend ĂŒ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 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 Aktion --display :
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
SIEHE AUCH
ln (1), FHS (der Dateisystem-Hierarchie-Standard, Filesystem Hierarchy Standard).
ĂBERSETZUNG
Die deutsche Ăbersetzung wurde 2004, 2006-2025 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.