alternatives

Vielleicht ist Ihnen schon das Verzeichnis /etc/alternatives aufgefallen. In diesem befinden sich einige Links ins Dateisystem. Haben Sie schon herausgefunden wozu diese dienen? OK, dann wird das Geheimnis nun aufgedeckt....

„Alternativen“ sind eine weitere dieser vielen, netten Kleinigkeiten die das Leben in einem Debian GNU System leichter und schöner machen. Über Alternativen können beliebte Programme (beispielsweise vi) durch „Alternativen“ (beispielsweise vim) ersetzt werden. Hierbei sind keine Einträge in irgendwelchen Konfigurationsdateien notwendig. Sehen wir uns das einmal am Beispiel vi an. Zunächst versuchen wir zu ermitteln wo das eigentlich Programm vi zu finden ist:


wasabi:/home/fr# ls -l `which vi`
lrwxrwxrwx    1 root     root           20 24. Feb 13:47 /usr/bin/vi -> /etc/alternatives/vi


Und dieser Link wiederrum:


wasabi:/home/fr# ls -l /etc/alternatives/vi
lrwxrwxrwx    1 root     root           12 20. Mär 08:15 /etc/alternatives/vi -> /usr/bin/vim


... zeigt auf das Programm vim. Nun lassen sich auch diese Links natürlich mir Unix Bordmitteln verändern, doch halt! Auch hier gibt es wieder ein Werkzeug aus der Debian Werkzeugkiste.

update-alternatives ist das Werkzeug des Debian Systemadministrators um die Konfiguration dieser Links vorzunehmen. Hierbei ist es möglich aus sinnvollen Alternativen auszuwählen, es werden sogar Einschätzungen zum am besten geeigneten Programm für den jeweiligen Zweck abgegeben.


update-alternatives: need --display, --config, --install, --remove or --auto

Debian update-alternatives 1.9.20.
Copyright (C) 1995 Ian Jackson.
Copyright (C) 2000,2001,2002 Wichert Akkerman
This is free software; see the GNU General Public Licence
version 2 or later for copying conditions.  There is NO warranty.

Usage: update-alternatives --install <link> <name> <path> <priority>
                          [--slave <link> <name> <path>] ...
       update-alternatives --remove <name> <path>
       update-alternatives --auto <name>
       update-alternatives --display <name>
       update-alternatives --config <name>
<name> is the name in /etc/alternatives.
<path> is the name referred to.
<link> is the link pointing to /etc/alternatives/<name>.
<priority> is an integer; options with higher numbers are chosen.

Options:  --verbose|--quiet  --test  --help  --version
          --altdir <directory>  --admindir <directory>

Zunächst sollten man sich einen Überblick über den aktuellen Zustand des Programmes, hier vi, verschaffen:


wasabi:/home/fr# update-alternatives --display vi
vi - status is manual.
 link currently points to /usr/bin/vim
/usr/bin/nvi - priority 30
 slave vi.1.gz: /usr/share/man/man1/nvi.1.gz
/usr/bin/vim - priority 120
 slave vi.1.gz: /usr/share/man/man1/vim.1.gz
Current `best' version is /usr/bin/vim.


Sehr schön zu sehen, es stehen zwei Programm zur Verfügung die dem System als Editor vi dienen können: nvi und vim. Beide Versionen sind mit unterschiedlich hohen Prioritäten versehen, die höhere Version wird bevorzugt und in der letzetn Zeile als Empfehlung ausgegeben.

Mit der Option --config können Veränderungen an der aktuellen Einstellung vorgenommen werden. Dies Auswahl des neuen Wertes erfolgt mit der jeweils vorrangestellten Zahl.