Что именно делает «альтернативы обновления»?

75

Какова команда update-alternatives , используемая для?

Возьмем этот пример:

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

Что он делает? Как это отличается от добавления jdk в путь?

Предположим, что я запустил команду. Как вернуться в исходное состояние?

    
задан Developer Android 27.12.2012 в 12:13
источник

1 ответ

56

Он обновляет ссылки в /etc/alternatives , чтобы указать на программу для этой цели. Существует множество примеров, таких как x-www-browser , editor и т. Д., Которые будут ссылаться на браузер или редактор ваших предпочтений. Некоторые скрипты или системные инструменты могут потребовать, чтобы вы вручную отредактировали файл (например, конфликт конфигурации в dpkg ), и они рассмотрят альтернативы, чтобы дать вам редактор выбора. Для java это среда выполнения Java - Oracle, OpenJRE и т. Д.

Ссылки в /etc/alternatives - это просто символические ссылки. Вы можете увидеть их, используя, например,

ls -l /etc/alternatives

Кроме того, обычные бинарные файлы /usr/bin также являются символическими ссылками. Например:.

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

Итак, не нужно изменять PATH . Он просто использует символические ссылки.

    
ответ дан gertvdijk 27.12.2012 в 12:19
источник