linux - 符号链接(symbolic link)覆盖了 linux 中的环境变量

标签 linux centos6

我在 Centos 6 上使用 rpm 安装了 Java,并在 .bash_profile 文件中设置了 JAVA_HOME。但是 java -version 正在打印之前安装的其他一些 Java 安装的版本。重启后也没有效果。在进一步调查中,我发现有一个符号链接(symbolic link) /usr/bin/java 指向另一个版本。我必须删除它并创建一个指向新安装的新安装才能正常工作。

在安装时创建此符号链接(symbolic link)是否正常,或者它可能是由某人手动创建的?符号链接(symbolic link)的优先级是否高于环境变量?

最佳答案

中央操作系统


链接/usr/bin/{ java, javac } 是使用/etc/alternatives/机制创建的。

如何将新版本安装到/etc/alternatives/,示例:

# /usr/sbin/alternatives --install /usr/bin/java java /usr/java/jdk1.8.0_66/bin/java 2000

...请输入您的实际路径,如果不是/usr/java/jdk1.8.0_66/bin/java。


如何选择一个 java 版本(这将创建正确的链接)

# /usr/sbin/alternatives --config java

关于linux - 符号链接(symbolic link)覆盖了 linux 中的环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33233305/

相关文章:

linux - 从 Eclipse 打开终端

mysql - 32 位和 64 位的 yum 存储库设置、mysql 连接器

mysql - 如何在 MySQL 社区服务器上禁用 ssl 插件?

c - 为什么 semop(semid,&wait[1],2);在一组三个信号量上减少第 0 个信号量而不是第 1 个和第 2 个信号量的值?

c++ - 如何在已弃用的函数中添加字符串或消息

c - 读取(fd,NULL,0);它有什么作用?它定义明确吗?

ruby - 如何计算 Linux 机器接收 ICMP 请求的频率?

ffmpeg - 找不到流 0 的编解码器参数(视频 : hevc, 无):未指定大小

python - 无法在我的 CentOS 6.7 上安装 odoo 9.0

ruby-on-rails - Rails 应用程序给出错误 "can not load translations from {ru.yml path} expected it to return a hash, but does not"