Centos安装jdk1.8出现-bash: //usr/local/soft/jdk1.8.0_191/bin/javac: /lib/ld-linux.so.2: bad ELF interpreter: 没有那个文件或目录错误。
1、从来没有这么郁闷,之前安装都是好好的,自从将Centos升级到7.0版本,安装了jdk报了这个错误,也是郁闷的一毛,参考了一下百度的,记录一下。使用java命令还有java -version命令都是正常的,唯独使用javac报错按照道理来说自从jdk1.7以后可以不用配置classpath了啊。可我配置了classpath依旧报错。自能百度大法了啊。
1 [root@slaver4 soft]# javac 2 -bash: //usr/local/soft/jdk1.8.0_191/bin/javac: /lib/ld-linux.so.2: bad ELF interpreter: 没有那个文件或目录
参考:https://blog.csdn.net/jinchunzhao123/article/details/81239484#commentsedit
2、执行yum install glibc.i686命令。安装glibc.i686这个安装包。
1 [root@slaver4 lib]# yum install glibc.i686 2 已加载插件:fastestmirror, langpacks 3 Loading mirror speeds from cached hostfile 4 * base: mirror.jdcloud.com 5 * extras: mirror.jdcloud.com 6 * updates: mirror.jdcloud.com 7 正在解决依赖关系 8 --> 正在检查事务 9 ---> 软件包 glibc.i686.0.2.17-260.el7_6.6 将被 安装 10 --> 正在处理依赖关系 glibc-common = 2.17-260.el7_6.6,它被软件包 glibc-2.17-260.el7_6.6.i686 需要 11 --> 正在处理依赖关系 libfreebl3.so(NSSRAWHASH_3.12.3),它被软件包 glibc-2.17-260.el7_6.6.i686 需要 12 --> 正在处理依赖关系 libfreebl3.so,它被软件包 glibc-2.17-260.el7_6.6.i686 需要 13 --> 正在检查事务 14 ---> 软件包 glibc-common.x86_64.0.2.17-260.el7 将被 升级 15 --> 正在处理依赖关系 glibc-common = 2.17-260.el7,它被软件包 glibc-2.17-260.el7.x86_64 需要 16 ---> 软件包 glibc-common.x86_64.0.2.17-260.el7_6.6 将被 更新 17 ---> 软件包 nss-softokn-freebl.i686.0.3.36.0-5.el7_5 将被 安装 18 --> 正在检查事务 19 ---> 软件包 glibc.x86_64.0.2.17-260.el7 将被 升级 20 ---> 软件包 glibc.x86_64.0.2.17-260.el7_6.6 将被 更新 21 --> 解决依赖关系完成 22 23 依赖关系解决 24 25 =================================================================================================== 26 Package 架构 版本 源 大小 27 =================================================================================================== 28 正在安装: 29 glibc i686 2.17-260.el7_6.6 updates 4.3 M 30 为依赖而安装: 31 nss-softokn-freebl i686 3.36.0-5.el7_5 base 211 k 32 为依赖而更新: 33 glibc x86_64 2.17-260.el7_6.6 updates 3.7 M 34 glibc-common x86_64 2.17-260.el7_6.6 updates 12 M 35 36 事务概要 37 =================================================================================================== 38 安装 1 软件包 (+1 依赖软件包) 39 升级 ( 2 依赖软件包) 40 41 总计:20 M 42 总下载量:4.5 M 43 Is this ok [y/d/N]: y 44 Downloading packages: 45 警告:/var/cache/yum/x86_64/7/base/packages/nss-softokn-freebl-3.36.0-5.el7_5.i686.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY 46 nss-softokn-freebl-3.36.0-5.el7_5.i686.rpm 的公钥尚未安装 47 (1/2): nss-softokn-freebl-3.36.0-5.el7_5.i686.rpm | 211 kB 00:00:04 48 glibc-2.17-260.el7_6.6.i686.rpm 的公钥尚未安装================- ] 726 kB/s | 4.1 MB 00:00:00 ETA 49 (2/2): glibc-2.17-260.el7_6.6.i686.rpm | 4.3 MB 00:00:05 50 --------------------------------------------------------------------------------------------------- 51 总计 792 kB/s | 4.5 MB 00:00:05 52 从 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 检索密钥 53 导入 GPG key 0xF4A80EB5: 54 用户ID : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>" 55 指纹 : 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5 56 软件包 : centos-release-7-6.1810.2.el7.centos.x86_64 (@anaconda) 57 来自 : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 58 是否继续?[y/N]:y 59 Running transaction check 60 Running transaction test 61 Transaction test succeeded 62 Running transaction 63 正在更新 : glibc-common-2.17-260.el7_6.6.x86_64 1/6 64 正在更新 : glibc-2.17-260.el7_6.6.x86_64 2/6 65 正在安装 : nss-softokn-freebl-3.36.0-5.el7_5.i686 3/6 66 正在安装 : glibc-2.17-260.el7_6.6.i686 4/6 67 清理 : glibc-common-2.17-260.el7.x86_64 5/6 68 清理 : glibc-2.17-260.el7.x86_64 6/6 69 验证中 : glibc-2.17-260.el7_6.6.x86_64 1/6 70 验证中 : nss-softokn-freebl-3.36.0-5.el7_5.i686 2/6 71 验证中 : glibc-2.17-260.el7_6.6.i686 3/6 72 验证中 : glibc-common-2.17-260.el7_6.6.x86_64 4/6 73 验证中 : glibc-2.17-260.el7.x86_64 5/6 74 验证中 : glibc-common-2.17-260.el7.x86_64 6/6 75 76 已安装: 77 glibc.i686 0:2.17-260.el7_6.6 78 79 作为依赖被安装: 80 nss-softokn-freebl.i686 0:3.36.0-5.el7_5 81 82 作为依赖被升级: 83 glibc.x86_64 0:2.17-260.el7_6.6 glibc-common.x86_64 0:2.17-260.el7_6.6 84 85 完毕! 86 [root@slaver4 lib]#
3、解决问题。
1 [root@slaver4 soft]# java 2 用法: java [-options] class [args...] 3 (执行类) 4 或 java [-options] -jar jarfile [args...] 5 (执行 jar 文件) 6 其中选项包括: 7 -d32 使用 32 位数据模型 (如果可用) 8 -d64 使用 64 位数据模型 (如果可用) 9 -server 选择 "server" VM 10 默认 VM 是 server. 11 12 -cp <目录和 zip/jar 文件的类搜索路径> 13 -classpath <目录和 zip/jar 文件的类搜索路径> 14 用 : 分隔的目录, JAR 档案 15 和 ZIP 档案列表, 用于搜索类文件。 16 -D<名称>=<值> 17 设置系统属性 18 -verbose:[class|gc|jni] 19 启用详细输出 20 -version 输出产品版本并退出 21 -version:<值> 22 警告: 此功能已过时, 将在 23 未来发行版中删除。 24 需要指定的版本才能运行 25 -showversion 输出产品版本并继续 26 -jre-restrict-search | -no-jre-restrict-search 27 警告: 此功能已过时, 将在 28 未来发行版中删除。 29 在版本搜索中包括/排除用户专用 JRE 30 -? -help 输出此帮助消息 31 -X 输出非标准选项的帮助 32 -ea[:<packagename>...|:<classname>] 33 -enableassertions[:<packagename>...|:<classname>] 34 按指定的粒度启用断言 35 -da[:<packagename>...|:<classname>] 36 -disableassertions[:<packagename>...|:<classname>] 37 禁用具有指定粒度的断言 38 -esa | -enablesystemassertions 39 启用系统断言 40 -dsa | -disablesystemassertions 41 禁用系统断言 42 -agentlib:<libname>[=<选项>] 43 加载本机代理库 <libname>, 例如 -agentlib:hprof 44 另请参阅 -agentlib:jdwp=help 和 -agentlib:hprof=help 45 -agentpath:<pathname>[=<选项>] 46 按完整路径名加载本机代理库 47 -javaagent:<jarpath>[=<选项>] 48 加载 Java 编程语言代理, 请参阅 java.lang.instrument 49 -splash:<imagepath> 50 使用指定的图像显示启动屏幕 51 有关详细信息, 请参阅 http://www.oracle.com/technetwork/java/javase/documentation/index.html。 52 [root@slaver4 soft]# javac 53 用法: javac <options> <source files> 54 其中, 可能的选项包括: 55 -g 生成所有调试信息 56 -g:none 不生成任何调试信息 57 -g:{lines,vars,source} 只生成某些调试信息 58 -nowarn 不生成任何警告 59 -verbose 输出有关编译器正在执行的操作的消息 60 -deprecation 输出使用已过时的 API 的源位置 61 -classpath <路径> 指定查找用户类文件和注释处理程序的位置 62 -cp <路径> 指定查找用户类文件和注释处理程序的位置 63 -sourcepath <路径> 指定查找输入源文件的位置 64 -bootclasspath <路径> 覆盖引导类文件的位置 65 -extdirs <目录> 覆盖所安装扩展的位置 66 -endorseddirs <目录> 覆盖签名的标准路径的位置 67 -proc:{none,only} 控制是否执行注释处理和/或编译。 68 -processor <class1>[,<class2>,<class3>...] 要运行的注释处理程序的名称; 绕过默认的搜索进程 69 -processorpath <路径> 指定查找注释处理程序的位置 70 -parameters 生成元数据以用于方法参数的反射 71 -d <目录> 指定放置生成的类文件的位置 72 -s <目录> 指定放置生成的源文件的位置 73 -h <目录> 指定放置生成的本机标头文件的位置 74 -implicit:{none,class} 指定是否为隐式引用文件生成类文件 75 -encoding <编码> 指定源文件使用的字符编码 76 -source <发行版> 提供与指定发行版的源兼容性 77 -target <发行版> 生成特定 VM 版本的类文件 78 -profile <配置文件> 请确保使用的 API 在指定的配置文件中可用 79 -version 版本信息 80 -help 输出标准选项的提要 81 -A关键字[=值] 传递给注释处理程序的选项 82 -X 输出非标准选项的提要 83 -J<标记> 直接将 <标记> 传递给运行时系统 84 -Werror 出现警告时终止编译 85 @<文件名> 从文件读取选项和文件名 86 87 [root@slaver4 soft]# java -version 88 openjdk version "1.8.0_181" 89 OpenJDK Runtime Environment (build 1.8.0_181-b13) 90 OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode) 91 [root@slaver4 soft]#
我的/etc/profile文件配置如下所示:
1 export JAVA_HOME=/usr/local/soft/jdk1.8.0_191 2 export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 3 export PATH=$PATH:$JAVA_HOME/bin
待续......