Provided by: dpkg_1.22.18ubuntu3_amd64 bug

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.

1.22.18                                            2025-04-28                             update-alternatives(1)