相关疑难解决方法(0)

使用更新替代品添加替代品的更好方法?

update-alternatives查了好几次手册,但我找不到如何显示指向特定替代方案的当前链接,并且在添加新替代方案时需要该信息。

update-alternatives手册:

--install <link> <name> <path> <priority>
Run Code Online (Sandbox Code Playgroud)

假设我想添加新版本的 Java Runtime Edition,但我不知道链接到替代项(<link>参数)的当前符号链接。我目前做的是:

sudo update-alternatives --install /tmp/randomStuff java /usr/local/java/jre1.7.0_25/bin/java 0
Run Code Online (Sandbox Code Playgroud)

该命令将输出:

update-alternatives: renaming java link from /usr/local/bin/java to /tmp/randomStuff.
Run Code Online (Sandbox Code Playgroud)

阅读输出我找到了指向替代的旧链接,所以我终于可以使用正确的<link>参数再次运行我的命令,更改/tmp/randomStuff/usr/local/bin/java

sudo update-alternatives --install /usr/local/bin/java java /usr/local/java/jre1.7.0_25/bin/java 0
Run Code Online (Sandbox Code Playgroud)

这工作正常,但如您所见,使用/tmp/randomStuffas<link>参数运行命令非常尴尬。

因此,问题来了:(1)是否有任何update-alternative参数可以输出指向特定替代方案的当前链接,或者(2)是否有一种方法可以安装新替代方案而无需提供新参数,只需保持当前<link>

command-line alternatives

22
推荐指数
2
解决办法
4万
查看次数

JAVA_HOME 和 update-alternatives 有什么区别?

我一直试图找出将 OpenJDK Java 运行时作为我的 Fedora 机器的默认 Java 运行的最佳方法,并使用 Oracle JDK 6 进行 Android 开发,即从 Android Bundle 运行 Android SDK Manager、Android Studio 和 Eclipse。

我从 Fedora 存储库安装了 OpenJDK Java Runtime,它具有如下设置替代方案。

[donnie@fedora ~]$ alternatives --list | grep java
jre_openjdk             auto    /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60-2.4.5.1.fc20.x86_64/jre
jre_1.7.0               auto    /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60-2.4.5.1.fc20.x86_64/jre
java                    auto    /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60-2.4.5.1.fc20.x86_64/jre/bin/java
libjavaplugin.so.x86_64 auto    /usr/lib64/IcedTeaPlugin.so
Run Code Online (Sandbox Code Playgroud)

我已经使用 Oracle 提供的 rpm 安装了 Oracle JDK 6。

我可以通过在.bashrc.

export JAVA_HOME=/usr/java/jdk1.6.0_45/
export PATH=$JAVA_HOME/bin:$PATH
Run Code Online (Sandbox Code Playgroud)

我注意到 Chrome 仍然使用 OpenJDK(因为我仍然需要链接插件)。

JAVA_HOME 和使用替代品有什么区别?

java alternatives

16
推荐指数
1
解决办法
2万
查看次数

标签 统计

alternatives ×2

command-line ×1

java ×1