Система выбора альтернатив в Debian based дистрах

Пока не забыл, запишу тут. Если нужно поставить какой то софт не из репозитория, и аналог этой программы уже есть в системе, то как правило возникает вопрос: “как это сделать не перезаписывая оригинальный файл, и что б при обновлении системы мои изменения не накрылись?”

Пример приведу на установке Oracle jre в Ubuntu 12.04.

Я скачал jdk-7u25-linux-i586.tar.gz, распаковал его в /opt и чтобы система использовала /opt/jdk-7u25-linux/bin/java вместо /usr/lib/jvm/java-7-openjdk-i386/bin/java делаем так:


update-alternatives --install "/usr/bin/javaws" "javaws" "/opt/jdk1.7.0_25/bin/javaws" 1000
update-alternatives --install "/usr/bin/java" "java" "/opt/jdk1.7.0_25/bin/java" 1000
update-alternatives --install "/usr/bin/javac" "javac" "/opt/jdk1.7.0_25/bin/javac" 1000

а затем чтобы выбрать свежесозданные альтернативы делаем:


update-alternatives --config "java"
update-alternatives --config "javac"
update-alternatives --config "javaws"

на запрос системы соответственно нужно выбрать необходимый пункт, например у меня было так:

root@citadel:/home/serp# update-alternatives –config “java”
Есть 2 варианта для альтернативы java (предоставляет /usr/bin/java).


Выбор Путь Приор Состояние
------------------------------------------------------------
* 0 /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java 1051 автоматический режим
1 /opt/jdk1.7.0_25/bin/java 1000 ручной режим
2 /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java 1051 ручной режим

Нажмите enter, чтобы сохранить текущий выбор[*], или введите выбранное число: 1
update-alternatives: используется `/opt/jdk1.7.0_25/bin/java’ для предоставления `/usr/bin/java’ (java) в ручной режим

система альтернатив активно используется для разных программ, список текущих можно посмотреть в /etc/alternatives

Добавить комментарий

Войти с помощью: