update alternatives install 中的参数是什么意思

update alternatives install 中的参数是什么意思

我需要帮助来理解以下参数

"/usr/bin/java" "java" ""/usr/java/latest/bin/java" 1

在以下命令中。

update-alternatives --install "/usr/bin/java" "java" ""/usr/java/latest/bin/java" 1

我知道您正在告诉系统可以使用另一个 Java 版本。

但:

为什么引号里有一个“java”,并且这个1有什么用?

答案1

为什么引号里有一个“java”

引用Ubuntu 手册页此文本是“名称”,即“替代目录中的符号链接的名称”。换句话说,当您在终端中键入 java(或您选择的任何文本)时,它知道您正在寻找这个特定的链接。

1 的目的是什么?

再次从手册页中可以看出,这是用于以下目的的“优先级” - “当链接组处于自动模式时,备选系统确保组中的链接指向适合该组的最高优先级备选。”换句话说,如果需要决定使用哪个链接,则数值较高的链接胜出。然而,我怀疑它可能无关紧要,通过使用update-alternatives您将默认设置从“自动”切换到“手动”,在这种情况下,我认为它不适用。但我不是专家。

有一个William DeMeo 的有用帖子作为背景。

答案2

http://linux.die.net/man/8/update-alternatives

update-alternatives --install link name path priority

稍后将更新答案,解释 Linux 中的“替代方案”。

答案3

如果你运行命令:

$man update-alternatives

输出:

alternatives [options] --install link name path priority [--slave link name path]... [--initscript service]

java意味着想要优先更新 java 123等。

您需要按照上面给出的顺序提及路径和所有参数。

答案4

先前的答案缺少的是对参数的实际解释,这也包括在 man 中:

man update-alternatives

--install link name path priority [--slave link name path]...

向系统添加一组替代方案。link 是主链接的通用名称,name 是其在替代方案目录中的符号链接名称,path 是引入主链接的替代方案。--slave 后的参数是通用名称、替代方案目录中的符号链接名称和从属链接的替代路径。可以指定零个或多个 --slave 选项,每个选项后跟三个参数。请注意,主替代方案必须存在,否则调用将失败。但是,如果不存在从属替代方案,则不会安装相应的从属替代链接(仍会显示警告)。如果在必须安装替代链接的地方安装了某个实际文件,则除非使用 --force,否则将保留该文件。

如果指定的替代名称已存在于替代系统的记录中,则提供的信息将作为该组的一组新替代添加。否则,将使用此信息添加一个设置为自动模式的新组。如果该组处于自动模式,并且新添加的替代的优先级高于该组的任何其他已安装的替代,则符号链接将更新为指向新添加的替代。

相关内容