linux下安装jdk
程序员文章站
2022-03-15 13:56:13
...
- 将下载好的 jdk-7-linux-i586.tar.gz 移动到 /opt 目录
- 解压jdk-7-linux-i586.tar.gz :tar -zxvf jdk-7-linux-i586.tar.gz
- 配置环境变量;vi /etc/profile ,在末尾加上
JAVA_HOME=/opt/jdk1.7.0 PATH=$JAVA_HOME/bin:$PATH CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME export PATH export CLASSPATH
保存退出。 - source /etc/profile 使更改的配置立即生效。
- java -version 查看JDK版本信息,如果显示出1.7.0证明成功。
我虚拟机上装的是REDHAT,输入java -version 后报错:Error: failed /usr/admin/software/jdk1.7.0/jre/lib/i386/client/libjvm.so, because /usr/admin/software/jdk1.7.0/jre/lib/i386/client/libjvm.so: cannot restore segment prot after reloc: Permission denied
网上搜后得知 原因是SELINUX被开启了
SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux® 上最杰出的新安全子系统。NSA是在Linux社区的帮助下开发了一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。
解决办法:vi /etc/sysconfig/selinux
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - SELinux is fully disabled. SELINUX=enforcing # SELINUXTYPE= type of policy in use. Possible values are: # targeted - Only targeted network daemons are protected. # strict - Full SELinux protection. SELINUXTYPE=targeted
将SELINUX=enforcing注释掉即可 。重新登陆虚拟机,就可成功执行 java命令。哦也!