OpenJdk 설치, 삭제, 업데이트

OpenJdk 설치, 삭제, 업데이트

Oracle에서 Java를 유료화 하면서 상업적인 목적의 서버에 Java를 설치하고 사용할 경우 주의해야 합니다. 로컬 PC에서의 개발은 oracle, openjdk 상관없이 사용해도 문제가 없지만, 서버 환경에서의 사용은 저작권이 침해될 수 있으므로 openjdk를 설치해서 java 어플리케이션을 구동하는 것을 추천합니다.

JDK8 및 이전 버전 설치

ubuntu, debian 계열 리눅스 설치

$ sudo apt-get install openjdk-8-jdk
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following package was automatically installed and is no longer required:
  libvpx3
......... 생략
Processing triggers for ureadahead (0.100.0-19) ...
Processing triggers for ca-certificates (20170717~16.04.2) ...
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...

done.
done.
$ java -version
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)

JDK 삭제

$ sudo apt-get remove openjdk*
$ sudo apt-get autoremove --purge
$ sudo apt-get autoclean

Fedora, Centos, Redhat 계열 리눅스 설치

$ sudo yum -y install java-1.8.0-openjdk-devel
Dependencies Resolved
=======================================================================================================================
 Package                              Arch            Version                                Repository           Size
=======================================================================================================================
Installing:
 java-1.8.0-openjdk                   x86_64          1:1.8.0.201.b09-0.amzn2                amzn2-core          259 k
Installing for dependencies:
 alsa-lib                             x86_64          1.1.4.1-2.amzn2                        amzn2-core          425 k
 atk                                  x86_64          2.22.0-3.amzn2.0.2                     amzn2-core          258 k
 avahi-libs                           x86_64          0.6.31-
Transaction Summary
....... 생략
=======================================================================================================================
Install  1 Package (+63 Dependent packages)

Total download size: 46 M
Installed size: 145 M
Is this ok [y/d/N]: y

  libpng.x86_64 2:1.5.13-7.amzn2.0.2                            libthai.x86_64 0:0.1.14-9.amzn2.0.2
  libwayland-client.x86_64 0:1.14.0-2.amzn2.0.1                  libwayland-server.x86_64 0:1.14.0-2.amzn2.0.1
  libxcb.x86_64 0:1.12-1.amzn2.0.2                               libxshmfence.x86_64 0:1.2-1.amzn2.0.2
  libxslt.x86_64 0:1.1.28-5.amzn2.0.2                            lksctp-tools.x86_64 0:1.0.17-2.amzn2.0.2
  mesa-libEGL.x86_64 0:17.2.3-8.20171019.amzn2.0.4              

Complete!
$ java -version
openjdk version "1.8.0_201"
OpenJDK Runtime Environment (build 1.8.0_201-b09)
OpenJDK 64-Bit Server VM (build 25.201-b09, mixed mode)

JDK 삭제

$ rpm -qa | grep jdk
copy-jdk-configs-3.3-10.amzn2.noarch
java-1.8.0-openjdk-1.8.0.201.b09-0.amzn2.x86_64
java-1.8.0-openjdk-headless-1.8.0.201.b09-0.amzn2.x86_64

$ sudo yum -y remove copy-jdk-configs-3.3-10.amzn2.noarch
$ sudo yum -y remove java-1.8.0-openjdk-1.8.0.201.b09-0.amzn2.x86_64
$ sudo yum -y remove java-1.8.0-openjdk-headless-1.8.0.201.b09-0.amzn2.x86_64

JDK9 & later

최신버전의 jdk의 경우 apt-get이나 yum을 통해 업데이트가 늦기 때문에 다음 링크중 하나에서 openjdk 최신버전을 다운로드 받아 설치합니다.

https://adoptopenjdk.net/releases.html?variant=openjdk11&jvmVariant=hotspot
https://jdk.java.net/archive/

다운로드

$ wget https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7/OpenJDK11U-jdk_x64_linux_hotspot_11.0.3_7.tar.gz

압축해제

$ tar -xvf OpenJDK11U-jdk_x64_linux_hotspot_11.0.3_7.tar.gz

JAVA 설치 디렉토리로 이동

리눅스에서 Java는 /usr/lib/jvm 밑에 설치됩니다. 기존에 설치한 Java가 있다면 해당 경로에 이미 다른 Java가 존재할 것입니다. 디렉토리가 없는경우 생성하고 위에서 압축해제한 jdk11을 해당 디렉토리로 이동 시킵니다.

$ sudo mkdir /usr/lib/jvm
$ sudo mv jdk-11.0.3+7/ /usr/lib/jvm/openjdk-11.0.3+7

사용중인 jdk 링크 변경

update-alternative –install 명령을 통하여 아래와 같이 수동으로 설치한 jdk11을 시스템에 업데이트합니다.

$ sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/openjdk-11.0.3+7/bin/java 1
$ sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/openjdk-11.0.3+7/bin/javac 1

java 버전 변경

update-alternatives –install 실행후에 java 버전이 이전 버전으로 나온다면 update-alternatives –config 명령으로 java 버전을 선택해 줍니다.

$ java -version
penjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
$ sudo update-alternatives --config java
There are 2 programs which provide 'java'.
  Selection    Command
-----------------------------------------------
*+ 1           java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-0.amzn2.x86_64/jre/bin/java)
   2           /usr/lib/jvm/openjdk-11.0.3+7/bin/java
Enter to keep the current selection[+], or type selection number: 2
$ java -version
openjdk version "11.0.3" 2019-04-16
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.3+7)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.3+7, mixed mode)
$ sudo update-alternatives --config javac
There are 2 programs which provide 'javac'.
  Selection    Command
-----------------------------------------------
*+ 1           java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-0.amzn2.x86_64/bin/javac)
   2           /usr/lib/jvm/openjdk-11.0.3+7/bin/javac
Enter to keep the current selection[+], or type selection number: 2
$ javac -version
javac 11.0.3

이후의 최신 버전은 위의 방법을 반복하여 버전업하면 됩니다. 이전 버전인 jdk8로 돌아가야 하면 update-alternatives –config를 다시 실행하여 jdk8을 선택하면 됩니다.

공유

댓글 남기기

Close Menu