Why is alternatives command used when installing Java on a Linux machine

26,468

Solution 1

It's not specific to Linux, only some of the distributions. It's better for maintaining multiple versions of the software or libraries and easily switch between them. Your applications are only pointing to the symbolic link, which you can easily switch any time and don't have to go through all the configurations of your applications. I don't know what the 20000 means, but here's the manpage: http://linux.about.com/library/cmd/blcmdl8_alternatives.htm (but you should have that in your system too)

Solution 2

To address what the 20000 is for, this is the priority for that particular alternative. Per the man page:

Each alternative has a priority associated with it. When a link group is in automatic mode, the alternatives pointed to by members of the group will be those which have the highest priority.

Solution 3

There is still no good explanation on the priority, but it seems larger numbers are considered to have higher priority than smaller numbers.

alternatives --display java also displays the priority. I noticed /jre-1.4.2 is added with a priority of 1420, so it would make sense the number the priorities according to the version number of the jre.

Share:
26,468
Chamara Keragala
Author by

Chamara Keragala

Sysadmin/Developer

Updated on August 07, 2020

Comments

  • Chamara Keragala
    Chamara Keragala almost 4 years

    The below command is need when installing Java on a Linux machine (saw the command in a tutorial).

    alternatives --install /usr/bin/java java /usr/java/jre1.7.0_01/bin/java 20000
    

    man alternatives command on terminal says:

    alternatives - maintain symbolic links determining default commands

    I dont understand why we need this command when installing Java(JRE or JDK), and what does 20000 at the end of the line refers to? Please care to explain.