Для чего используется команда update-alternatives
?
Возьмите этот пример:
sudo update-alternatives --install /usr/bin/java java /usr/local/java/jre1.7.0_09/bin/java 1
Что она делает? Чем он отличается от добавления jdk к пути?
Допустим, я выполнил команду. Как бы я вернуться к исходному состоянию?
Обновляет ссылки в /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
Таким образом, нет необходимости изменять 119. Он просто использует символические ссылки.
Хотя ответ @gertvdjik является хорошим объяснением того, как альтернативы работают на более низком уровне, он явно не говорит, как вернуть исходное состояние.
Мне проще использовать соответствующие библиотеки графического интерфейса пользователя
, которые доступны в виде пакета. Чтобы установить его, просто запустите:
sudo apt-get install galternatives
Тогда управление альтернативами станет намного проще. В частности, для java у вас есть много вспомогательных двоичных файлов, которые вам придется обновить, и их можно быстрее просмотреть в графическом интерфейсе.