127 votes

Que fait exactement `update-alternatives`?

À quoi sert la commande update-alternatives ?

Prenons cet exemple :

sudo update-alternatives --install /usr/bin/java java /usr/local/java/jre1.7.0_09/bin/java 1

Que fait-elle ? En quoi est-elle différente de l'ajout de jdk au chemin d'accès ?

Supposons que j'ai exécuté la commande. Comment puis-je revenir à l'état d'origine ?

95voto

RN. Points 559

Il met à jour les liens dans /etc/alternatives pour pointer vers le programme à cet effet. Il y a beaucoup d'exemples, comme x-www-browser, editor, etc. qui pointeront vers le navigateur ou l'éditeur de votre choix. Certains scripts ou outils système peuvent vous demander de modifier un fichier manuellement (par exemple, un conflit de configuration dans dpkg) et ils examineront les alternatives pour vous donner l'éditeur de votre choix. Pour java, il s'agit de l'environnement d'exécution Java - Oracle, OpenJRE, etc.

Les liens dans /etc/alternatives ne sont que des liens symboliques. Vous pouvez les voir en utilisant par exemple

ls -l /etc/alternatives

De plus, les binaires réguliers /usr/bin sont également des liens symboliques. Par exemple:

ls -l /usr/bin/java
  lrwxrwxrwx 1 root root 22 Aug 14 10:33 /usr/bin/java -> /etc/alternatives/java
ls -l /etc/alternatives/java
  lrwxrwxrwx 1 root root 46 Aug 14 10:33 /etc/alternatives/java -> /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java

Ainsi, aucun PATH n'a besoin d'être modifié. Il utilise simplement des liens symboliques.

4voto

mapto Points 249

Alors que la réponse de @gertvdjik est une bonne explication de la façon dont les alternatives fonctionnent au niveau inférieur, elle ne dit pas explicitement comment revenir à l'état d'origine.

Je trouve plus facile d'utiliser l'interface graphique correspondante galternatives qui est disponible en tant que paquet. Pour l'installer, il suffit d'exécuter :

sudo apt-get install galternatives

Ensuite, la gestion des alternatives devient beaucoup plus facile. Pour Java en particulier, vous avez beaucoup de binaires auxiliaires que vous devrez mettre à jour et il est plus rapide de les visualiser dans l'interface graphique.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X