본문 바로가기
SW 프로그래밍/센토스(CenTOS)

CentOs7에 jdk 설치 및 환경변수(JAVA_HOME)설정

by N2info 2019. 6. 18.

CentOs7 jdk 설치하기

update : 2019.06.29

 

 

centOs의 쉘에 아래 명령으로 현재 설치가능한 jdk 버전확인

yum list java*jdk-devel

실행결과

[root@localhost db_backup]# yum list java*jdk-devel
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.kakao.com
 * epel: mirrors.aliyun.com
 * extras: mirror.kakao.com
 * updates: mirror.kakao.com
Available Packages
java-1.6.0-openjdk-devel.x86_64                         1:1.6.0.41-1.13.13.1.el7_3                         base
java-1.7.0-openjdk-devel.x86_64                         1:1.7.0.221-2.6.18.0.el7_6                         updates
java-1.8.0-openjdk-devel.i686                           1:1.8.0.212.b04-0.el7_6                            updates
java-1.8.0-openjdk-devel.x86_64                         1:1.8.0.212.b04-0.el7_6                            updates
java-11-openjdk-devel.i686                              1:11.0.3.7-0.el7_6                                 updates
java-11-openjdk-devel.x86_64                            1:11.0.3.7-0.el7_6                                 updates
java-latest-openjdk-devel.x86_64                        1:12.0.1.12-1.rolling.el7                          epel
[root@localhost db_backup]#

조회된 결과중에 java-1.8.0-openjdk-devel.x86_64 버전을 설치해보자 쉘에 아래 명령어를 입력하자.

조회된 결과중에 java-latest-openjdk-devel.x86_64  버전을 설치해보자 쉘에 아래 명령어를 입력하자.

 

yum install java-latest-openjdk-devel.x86_64

뭔가 진행이되며 중간중간 뭔가를 물어보는데 y를 눌러주면서 진행하면 된다. 생각보다 시간이 좀 걸린다.

 

실행결과

Installed:
  java-latest-openjdk-devel.x86_64 1:12.0.1.12-1.rolling.el7

Dependency Installed:
  copy-jdk-configs.noarch 0:3.3-10.el7_5
  java-latest-openjdk.x86_64 1:12.0.1.12-1.rolling.el7
  java-latest-openjdk-headless.x86_64 1:12.0.1.12-1.rolling.el7
  javapackages-tools.noarch 0:3.4.1-11.el7
  libfontenc.x86_64 0:1.1.3-3.el7
  lksctp-tools.x86_64 0:1.0.17-2.el7
  pcsc-lite-libs.x86_64 0:1.8.8-8.el7
  python-javapackages.noarch 0:3.4.1-11.el7
  python-lxml.x86_64 0:3.2.1-4.el7
  ttmkfdir.x86_64 0:3.0.9-42.el7
  tzdata-java.noarch 0:2019a-1.el7
  xorg-x11-font-utils.x86_64 1:7.5-21.el7
  xorg-x11-fonts-Type1.noarch 0:7.5-9.el7

Complete!
[root@localhost db_backup]#

CentOs7 jdk 설치 결과 확인

[root@localhost db_backup]# javac -version
javac 12.0.1
[root@localhost db_backup]# rpm -qa java*jdk-devel
java-latest-openjdk-devel-12.0.1.12-1.rolling.el7.x86_64
[root@localhost db_backup]#

위 처럼 jdk 설치 완료를 확인 할 수 있다.


CentOs7 jdk 환경변수 설정

일단 현재 JAVA_HOME이 설정 되어 있는지 확인하자.

[root@localhost ~]# echo $JAVA_HOME
[root@localhost ~]#

JAVA_HOME이 설정이 안되어 있는 것을 확인했다.

javac 위치 확인

[root@localhost db_backup]# which javac
/usr/bin/javac
[root@localhost db_backup]# readlink -f /usr/bin/javac
/usr/lib/jvm/java-12-openjdk-12.0.1.12-1.rolling.el7.x86_64/bin/javac
[root@localhost db_backup]#

which javac라는 명령어는 javac라는 명령어의 위치를 알려달라는 말이다. /usr/bin/javac 는 심볼릭 링크 이므로 원본 파일의 위치를 찾기 위해 readlink -f /usr/bin/javac 명령어를 사용하였다. readlink -f는 심볼릭 링크에서 원본파일을 추출하는 명령어 이다. 즉 /usr/lib/jvm/java-12-openjdk-12.0.1.12-1.rolling.el7.x86_64/bin/javac 가 쉘에서 동작하고 있는 javac명령어의 원본파일이다. /usr/lib/jvm/java-12-openjdk-12.0.1.12-1.rolling.el7.x86_64/bin/javac 가 JAVA_HOME이 될 경로가 된다.

$JAVA_HOME 설정

실제 javac명령어의 경로를 찾았으니 그 경로를 이용하여 JAVA_HOME 환경변수로 등록하도록 하자. 환경변수를 설정할수 있는 profile 이라는 파일을 vi 편집기로 열자

[root@localhost ~]# source /etc/profile

해당 파일의 하단에 아래 내용을 추가한뒤 저장하자.

export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL

# By default, we want umask to get set. This sets it for login shell
# Current threshold for system reserved uid/gids is 200
# You could check uidgid reservation validity in
# /usr/share/doc/setup-*/uidgid file
if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
    umask 002
else
    umask 022
fi

for i in /etc/profile.d/*.sh /etc/profile.d/sh.local ; do
    if [ -r "$i" ]; then
        if [ "${-#*i}" != "$-" ]; then
            . "$i"
        else
            . "$i" >/dev/null
        fi
    fi
done

unset i
unset -f pathmunge

export JAVA_HOME=/usr/lib/jvm/java-12-openjdk-12.0.1.12-1.rolling.el7.x86_64/bin/javac

파일을 저장한뒤 아래 명령어를 이용하여 수정한 파일을 적용하자. ssh를 재접속 해도 되지만 아래 방법이 더 편하다.

source /etc/profile

아래처럼 JAVA_HOME 재대로 적용되었는지 확인해 보자.\

실행결과

[root@localhost db_backup]# vi /etc/profile
[root@localhost db_backup]# source /etc/profile
[root@localhost db_backup]# echo $JAVA_HOME
/usr/lib/jvm/java-12-openjdk-12.0.1.12-1.rolling.el7.x86_64
[root@localhost db_backup]# $JAVA_HOME/bin/javac -version
javac 12.0.1
[root@localhost db_backup]#

 

출처 : https://blog.hanumoka.net/2018/04/30/centOs-20180430-centos-install-jdk/