Que fait exactement 'update-alternatives'?

83

À quoi sert la commande update-alternatives ?

Prenez cet exemple:

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

Que fait-il? En quoi est-ce différent d’ajouter jdk au chemin?

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

    
posée Developer Android 27.12.2012 - 12:13
la source

1 réponse

62

Il met à jour les liens dans /etc/alternatives pour désigner le programme à cet effet. Il y a beaucoup d'exemples, comme x-www-browser , editor , etc., qui seront liés au 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 rechercheront 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 fichiers binaires /usr/bin réguliers 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

Donc, aucun PATH ne doit être modifié. Il utilise uniquement des liens symboliques.

    
réponse donnée gertvdijk 27.12.2012 - 12:19
la source

Lire d'autres questions sur les étiquettes