为什么在Linux机器上安装Java时要使用alternatives命令

16

在Linux机器上安装Java时需要使用以下命令(在教程中看到的)。

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

终端上运行的man alternatives命令显示:

alternatives - 维护符号链接以确定默认命令

我不明白为什么在安装Java(JRE或JDK)时需要这个命令,而该行末尾的20000是什么意思?请解释一下。

3个回答

7
这并不是只针对Linux的特定功能,只适用于某些发行版。它更适合维护多个软件或库版本,并轻松切换它们之间。你的应用程序只需要指向符号链接,你可以随时轻松切换,而不必经历所有应用程序的配置。我不知道20000是什么意思,但这是man页面:http://linux.about.com/library/cmd/blcmdl8_alternatives.htm(但你也应该在你的系统中拥有它)。

6
为了解释20000的作用,这是该特定备选项的优先级。根据手册:
每个备选项都有一个与之关联的优先级。当链接组处于自动模式时,组成员指向的备选项将是具有最高优先级的备选项。

如果我没有提及任何优先级值(20,000),会有问题吗? - ArunRaj

2

关于优先级,仍然没有一个好的解释,但似乎较大的数字被认为比较小的数字有更高的优先级。

alternatives --display java 命令也会显示优先级。我注意到 /jre-1.4.2 被添加了一个优先级为1420,因此根据jre的版本号进行优先级排序是有道理的。


遵循上述规则(而不是使用任意优先级数字)尤其重要,当您开始自动化软件包的安装和替代配置(例如通过SaltStack)时,因为确实有些软件包还将包括后安装操作,其中它们将自己安装到替代品中。 - RCross

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接