Name="Programm-Alternativen wie unter Debian" Stich="Alternativen Programm-Alternativen alternatives /etc/alternatives Debian program-alternatives /usr/bin symbolische_Links Links links symbolic_links ln ln_-s alternativen programm-alternativen Debian-Feeling ersetzen schnell_ersetzen systemweit global /usr/bin/*_/etc/alternatives/*" Zeit="Die Oct 9 12:15:20 MEST 2001" Kurz="Sie haben mehrere Programme, die die gleiche Aufgabe erfüllen, beispielsweise vim, elvis und nvi, und Sie wollen sie schnell auswechseln können .Dieser Artikel zeigt, wie Debian diese Aufgabe löst, und wie sie auf andere Distributionen übertragbar ist." Lang=" Die Idee ist sehr einfach: Die meisten Programme, die gleichwertige Alternativen haben, sitzen unter /usr/bin/. Normalerweise würde ein $esCodes ls -l /usr/bin/vi $esCodee folgendes ausgeben: `exCodes ls -l /isr/bin/vi` -rwxr-xr-x 1 root root 509272 Aug 22 1999 /usr/bin/vi `exCodee` In Debian sieht die Ausgabe des gleichen Befehls ganz anders aus: `exCodes ls -l /usr/bin/vi, aber unter Debian` lrwxrwxrwx 1 root root 12 Okt 9 12:22 /usr/bin/vi -> \\ /etc/alternatives/vi `exCodee` Verfolgt man die Spur nun weiter... `exCodes ls -l /etc/alternatives/vi, unter Debian` lrwxrwxrwx 1 root root Okt 9 12:22 /etc/alternatives/vi -> \\ /usr/bin/vim `exCodee` ... so sieht man, dass /usr/bin/vi eigentlich ein symbolischer Link auf /usr/bin/vim ist, nur auf verschlungenen Wegen. AUf diese Weise kann man schnell eine neue Version des gleichen Programmes hinzufügen, ohne das Erste zu beeinträchtigen. Oder mann kann, mit nur einem Befehl, statt vim nvi einsetzen: `exCodes nvi statt vim` # ln -sf /usr/bin/nvi /etc/alternatives/vi `exCodee` Voilą. Schon ruft die Eingabe von vi nun nvi auf.
Um unter anderen Distributionen auf das gleiche Ergebnis zu kommen, empfiehlt sich folgender Befehl: `exCodes Debian-Feeling unter anderen Distributionen` # mkdir /etc/alternatives # for i in /usr/bin/*; do > echo \$i.........; > mv \$i \$i.real > ln -s \$i /etc/alternatives/\`basename \$i\` > ln -s /etc/alternatives/\`basename \$i\` \$i > done `exCodee` Fertig. ALlerdings kann es eine Weile dauern, bis er alle Dateien "durchgelinkt" hat. " case $1 in Name) echo $Name; exit;; Stich) echo $Stich; exit;; Zeit) echo $Zeit; exit;; Kurz) echo $Kurz; exit;; Lang) echo $Lang; exit;; esac # if [ "$1" = "Name" ]; then echo $Name; fi mself_vA=""