2020년 7월 8일 수요일

OpenJdk 설치, 삭제, 업데이트

원문 : OpenJdk 설치, 삭제, 업데이트



CentOS 6에서 OpenJDK 11 이상을 쓸려고 해서 찾은 것 중에..



정말 잘 정리되어 있는 포스트...



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 최신버전을 다운로드 받아 설치합니다.

다운로드

$ 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을 선택하면 됩니다.

댓글 없음:

댓글 쓰기

BE Band (비밴드) - 2024년 03월 02일 잠실새내 락앤롤욱스 공연

나의 10~20대를 보낸 잠실에서의 공연.. 오랜만에 가보니.. 여기가.. 마눌님과 자주 가던 영화관이었는데... 여긴 뭐가 있었는데... 란 추억도 떠올리며 기분좋게 감.​ 공연장은 좀 협소한 편이었고, 인천의 쥐똥나무 보다는 약간 크고... 인천 ...