18.2. Standardprogramme anzeigen

Mit dem Aufruf update-alternatives --get-selections listen Sie alle generischen Programme oder Dateien auf, für die es Alternativen auf Ihrem lokalen System gibt. Ebenfalls mit ausgegeben werden dabei die aktuell ausgewählte Alternative sowie die konkrete Auswahlform — automatisch anhand der installierten Pakete und Prioritäten oder manuell durch den lokalen Administrator.

Beispielausgabe[31] von update-alternatives --get-selections (massiv gekürzt). 

$ update-alternatives --get-selections
automake                       auto     /usr/bin/automake-1.14
awk                            auto     /usr/bin/gawk
c++                            auto     /usr/bin/g++
c89                            auto     /usr/bin/c89-gcc
c99                            auto     /usr/bin/c99-gcc
cc                             auto     /usr/bin/gcc
cpp                            auto     /usr/bin/cpp
csh                            auto     /bin/bsd-csh
de.multi                       manual   /usr/lib/aspell/de-alt.multi
desktop-background             auto     /usr/share/images/desktop-base/lines-wallpaper_1920x1080.svg
desktop-background.xml         auto     /usr/share/images/desktop-base/lines.xml
desktop-grub                   auto     /usr/share/images/desktop-base/lines-grub.png
desktop-splash                 auto     /usr/share/images/desktop-base/spacefun-splash.svg
doom                           auto     /usr/games/chocolate-doom
dwm                            auto     /usr/bin/dwm.default
editor                         manual   /usr/bin/zile
emacs                          auto     /usr/bin/emacs24-x
emacsclient                    auto     /usr/bin/emacsclient.emacs24
ex                             auto     /usr/bin/nex
gnome-text-editor              auto     /usr/bin/leafpad
gnome-www-browser              auto     /usr/bin/opera
html2markdown                  auto     /usr/bin/html2markdown.py2
infobrowser                    auto     /usr/bin/info
jar                            auto     /usr/bin/fastjar
java                           auto     /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
ksh                            auto     /bin/ksh93
locate                         auto     /usr/bin/mlocate
mp3-decoder                    auto     /usr/bin/mpg321
nc                             manual   /bin/nc.traditional
pager                          auto     /bin/less
rcp                            auto     /usr/bin/scp
rename                         auto     /usr/bin/file-rename
rlogin                         auto     /usr/bin/slogin
rsh                            auto     /usr/bin/ssh
rxvt                           manual   /usr/bin/urxvt
ssh-askpass                    manual   /usr/bin/ssh-askpass-fullscreen
telnet                         auto     /usr/bin/telnet-ssl
unison                         auto     /usr/bin/unison-latest-stable
unison-gtk                     auto     /usr/bin/unison-latest-stable-gtk
vi                             manual   /usr/bin/nvi
view                           manual   /usr/bin/nview
wesnoth                        auto     /usr/games/wesnoth-1.10
www-browser                    auto     /usr/bin/links2
x-cursor-theme                 manual   /etc/X11/cursors/crystalwhite.theme
x-session-manager              auto     /usr/bin/choosewm
x-terminal-emulator            manual   /usr/bin/uxterm
x-window-manager               manual   /usr/bin/ratpoison
x-www-browser                  manual   /usr/bin/conkeror
$

Welche Alternativen für ein generisches Kommando verfügbar sind, erfahren Sie mit dem Schalter --list. Nachfolgend sehen Sie das für die Skriptsprache Awk.

Ausgabe der verfügbaren Alternativen für die Skriptsprache Awk. 

$ update-alternatives --list awk
/usr/bin/gawk
/usr/bin/mawk
/usr/bin/original-awk
$

Über den Schalter --display erfahren Sie die derzeit festgelegte Alternative für ein generisches Kommando mitsamt den verfügbaren, weiteren Möglichkeiten und allen ebenfalls umgebogenen Referenzen auf dessen Slaves. Slaves sind weitere Dateien, die zu einem Programm dazugehören, bspw. die passenden Handbuchseiten (Manual Pages). Anhand des nachfolgenden Beispiels zu Awk verdeutlichen wir Ihnen das.

Ausgabe der ausgewählten und verfügbaren Alternativen für Awk. 

$ update-alternatives --display awk
awk - automatischer Modus
  Link verweist zur Zeit auf /usr/bin/gawk
/usr/bin/gawk - Priorität 10
  Slave awk.1.gz: /usr/share/man/man1/gawk.1.gz
  Slave nawk: /usr/bin/gawk
  Slave nawk.1.gz: /usr/share/man/man1/gawk.1.gz
/usr/bin/mawk - Priorität 5
  Slave awk.1.gz: /usr/share/man/man1/mawk.1.gz
  Slave nawk: /usr/bin/mawk
  Slave nawk.1.gz: /usr/share/man/man1/mawk.1.gz
/usr/bin/original-awk - Priorität 0
  Slave awk.1.gz: /usr/share/man/man1/original-awk.1.gz
Gegenwärtig »beste« Version ist »/usr/bin/gawk«.
$

Alternative Darstellung

Benötigen Sie stattdessen eine maschinenlesbare Ausgabe, hilft Ihnen in diesem Fall der Schalter --query weiter. Dabei werden die Blöcke in einer an den RFC 822 [RFC822] angelehnten Weise formatiert und zwischen den einzelnen Blöcken zusätzliche Leerzeilen eingefügt.



[31] von Axels Thinkpad und mit einer durchaus nicht ganz üblichen Auswahl