UpdateAlternatives
Zur Navigation springen
Zur Suche springen
Example
[Bearbeiten]BASE=/opt/jdk1.8 alternatives --install /usr/bin/java java $BASE/bin/java $PRIO \ --slave /usr/bin/keytool keytool $BASE/bin/keytool \ --slave /usr/bin/rmiregistry rmiregistry $BASE/bin/rmiregistry \ --slave /usr/bin/javac javac $BASE/bin/javac \ --slave /usr/bin/jar jar $BASE/bin/jar \ --slave /usr/bin/idlj idlj $BASE/bin/idlj \ --slave /usr/bin/rmic rmic $BASE/bin/rmic
Change environment
[Bearbeiten]update-alternatives -config java
Script for java
[Bearbeiten]FN=/usr/local/bin/InstJavaAlternative
cat <<'EOS' >$FN
#! /bin/bash
BASE=$1
PRIO=$2
function Usage(){
echo "usage: InstJavaAlternative <base_path> <prio>"
echo "example: InstJavaAlternative /opt/jdk1.6 120"
echo "+++ $1"
exit 1
}
ID=$(id -u)
test $ID = 0 || Usage "be root!";
test -z "$BASE" && Usage "no base_path"
test -d "$BASE" || Usage "not a directory: $BASE"
test -x "$BASE/bin/java" || Usage "not a java installation: missing $BASE\bin\java"
test -z "$PRIO" && Usage "missing <prio>"
alternatives --install /usr/bin/java java $BASE/bin/java $PRIO \
--slave /usr/bin/keytool keytool $BASE/bin/keytool \
--slave /usr/bin/rmiregistry rmiregistry $BASE/bin/rmiregistry \
--slave /usr/bin/javac javac $BASE/bin/javac \
--slave /usr/bin/jar jar $BASE/bin/jar \
--slave /usr/bin/idlj idlj $BASE/bin/idlj \
--slave /usr/bin/rmic rmic $BASE/bin/rmic
EOS
chmod +x $FN