问题描述:在Linux RedHat5.5中安装的JDK1.7,并且通过在profile文件中修改JAVA_HOME,发现java -version命令依旧显示1.4版本,分析原因发现系统不按照profile的设定来执行java 命令,而是通过/usr/java下的系统自带的JDK程序进行运行,无奈之下治好通过rm -rf命令删除/usr/java下的所有文件,然后再次运行java命令,出现如下问题:

Error: dl failure on line 864 Error: failed /home/app/jdk1.7.0_21/jre/lib/i386/client/libjvm.so, because /home/app/jdk1.7.0_21/jre/lib/i386/client/libjvm.so: cannot restore segment prot after reloc: Permission denied

分析结果:最后的Permission denied显示,初步认为是系统安全屏蔽了java执行某些执行动作。于是检查系统防火墙iptables,已经关闭,于是想到了Selinux

解决的方法有两个:

    1、直接输入:/usr/sbin/setenforce 0     意思是关闭SELINUX,但是这个只是会话级别的设置

    2、全局设置关闭SELINUX,通过编辑/etc/sysconfig/selinux文件,将SELINUX参数修改成disabled,然后重启即可

Logo

更多推荐