欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

linux下安装jdk

程序员文章站 2022-03-15 13:57:25
...
  1. 将下载好的 jdk-7-linux-i586.tar.gz 移动到 /opt 目录
  2. 解压jdk-7-linux-i586.tar.gz :tar -zxvf  jdk-7-linux-i586.tar.gz
  3. 配置环境变量;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
     保存退出。
  4. source /etc/profile  使更改的配置立即生效。
  5.  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命令。哦也!