OCI에 Oracle Java & GraalVM EE 설치

OCI에 Oracle Java & GraalVM EE 설치

Oracle Cloud Infrastructure(이하 OCI)에서 Oracle Java와 GraalVM Entrprise Edition을 모두 무상으로 사용할 수 있습니다. Oracle Java는 대표적인 표준 자바 구현체이고 오라클이 프리미엄 서포트를 제공하는 기업용 자바입니다. GraalVM은 Oracle Java를 확장한 차세대 자바입니다. OCI에서 제공하는 Oracle Linux 이미지에는 Oracle Java와 GraalVM 설치를 지원하는 yum 레파지토리가 구성돼 있습니다. 이번 문서에서는 OCI Oracle Linux에서 Oracle Java와 GraalVM을 설치하는 방법을 정리합니다.

Oracle Java & GraalVM is Free

OCI에서 Oracle Java와 GraalVM Enterprise Edition을 무상으로 사용할 수 있다는 근거는 다음 링크에서 확인할 수 있습니다.

Oracle Java on OCI

위 이미지와 같이 Oracle Java는 OCI에서 무료 사용을 허용하는 라이센스를 부여합니다.

GraalVM EE on OCI

위 이미지와 같이 GraalVM Enterprise Edition은 OCI 사용자에게 GraalVM 사용권과 기술 서포트를 제공합니다.

OCI Oracle Linux에 Oracle Java 설치

OCI Oracle Linux에는 Orace Java용 yum 레파티토리가 기본 등록되어 있습니다. 설치 가능한 Oracle Java 버전을 다음 명령으로 확인할 수 있습니다.

yum list jdk*

다음은 실행 결과입니다. Oracle Linux 7에서는 다음과 같은 결과가 출력됩니다.

2020년 11월 18일을 기준으로 Oracle Linux 7에는 Oracle Java 8, 11, 12, 13, 14, 15 버전이 등록되어 있습니다.

다음 명령으로 지정한 Oracle Java를 설치할 수 있습니다.

sudo yum install -y [Package Name]

OCI Oracle Linux에 GraalVM EE 설치

OCI Oracle Linux에는 GraalVM 용 yum 레파티토리가 기본 등록되어 있습니다. 설치 가능한 GraalVM 버전을 다음 명령으로 확인할 수 있습니다.

 sudo yum list graalvm*

다음은 위 명령을 수행한 결과입니다.

[opc@demo ~]$ sudo yum list graalvm*
Loaded plugins: langpacks, ulninfo
Available Packages
graalvm19-ee-11.x86_64                                 19.3.4-2.el7                      ol7_oci_included
graalvm19-ee-11-devel.x86_64                           19.3.4-2.el7                      ol7_oci_included
graalvm19-ee-11-javascript.x86_64                      19.3.4-2.el7                      ol7_oci_included
graalvm19-ee-11-jdk.x86_64                             19.3.4-2.el7                      ol7_oci_included
graalvm19-ee-11-libpolyglot.x86_64                     19.3.4-2.el7                      ol7_oci_included
graalvm19-ee-11-llvm.x86_64                            19.3.4-2.el7                      ol7_oci_included
graalvm19-ee-11-llvm-toolchain.x86_64                  19.3.4-2.el7                      ol7_oci_included
graalvm19-ee-11-native-image.x86_64                    19.3.4-2.el7                      ol7_oci_included
graalvm19-ee-11-nodejs.x86_64                          19.3.4-2.el7                      ol7_oci_included
graalvm19-ee-11-nodejs-devel.x86_64                    19.3.4-2.el7                      ol7_oci_included
graalvm19-ee-11-polyglot.x86_64                        19.3.4-2.el7                      ol7_oci_included
graalvm19-ee-11-python.x86_64                          19.3.4-2.el7                      ol7_oci_included
graalvm19-ee-11-python-devel.x86_64                    19.3.4-2.el7                      ol7_oci_included
graalvm19-ee-11-ruby.x86_64                            19.3.4-2.el7                      ol7_oci_included
graalvm19-ee-11-tools.x86_64                           19.3.4-2.el7                      ol7_oci_included
graalvm19-ee-8.x86_64                                  19.3.4-2.el7                      ol7_oci_included
graalvm19-ee-8-devel.x86_64                            19.3.4-2.el7                      ol7_oci_included
graalvm19-ee-8-javascript.x86_64                       19.3.4-2.el7                      ol7_oci_included
graalvm19-ee-8-jdk.x86_64                              19.3.4-2.el7                      ol7_oci_included
graalvm19-ee-8-jre.x86_64                              19.3.4-2.el7                      ol7_oci_included
graalvm19-ee-8-jre-headless.x86_64                     19.3.4-2.el7                      ol7_oci_included
graalvm19-ee-8-libpolyglot.x86_64                      19.3.4-2.el7                      ol7_oci_included
graalvm19-ee-8-llvm.x86_64                             19.3.4-2.el7                      ol7_oci_included
graalvm19-ee-8-llvm-toolchain.x86_64                   19.3.4-2.el7                      ol7_oci_included
graalvm19-ee-8-native-image.x86_64                     19.3.4-2.el7                      ol7_oci_included
graalvm19-ee-8-nodejs.x86_64                           19.3.4-2.el7                      ol7_oci_included
graalvm19-ee-8-nodejs-devel.x86_64                     19.3.4-2.el7                      ol7_oci_included
graalvm19-ee-8-polyglot.x86_64                         19.3.4-2.el7                      ol7_oci_included
graalvm19-ee-8-python.x86_64                           19.3.4-2.el7                      ol7_oci_included
graalvm19-ee-8-python-devel.x86_64                     19.3.4-2.el7                      ol7_oci_included
graalvm19-ee-8-ruby.x86_64                             19.3.4-2.el7                      ol7_oci_included
graalvm19-ee-8-tools.x86_64                            19.3.4-2.el7                      ol7_oci_included
graalvm20-ee-11.x86_64                                 20.2.1-2.el7                      ol7_oci_included
graalvm20-ee-11-devel.x86_64                           20.2.1-2.el7                      ol7_oci_included
graalvm20-ee-11-javascript.x86_64                      20.2.1-2.el7                      ol7_oci_included
graalvm20-ee-11-jdk.x86_64                             20.2.1-2.el7                      ol7_oci_included
graalvm20-ee-11-libpolyglot.x86_64                     20.2.1-2.el7                      ol7_oci_included
graalvm20-ee-11-llvm.x86_64                            20.2.1-2.el7                      ol7_oci_included
graalvm20-ee-11-llvm-toolchain.x86_64                  20.2.1-2.el7                      ol7_oci_included
graalvm20-ee-11-native-image.x86_64                    20.2.1-2.el7                      ol7_oci_included
graalvm20-ee-11-nodejs.x86_64                          20.2.1-2.el7                      ol7_oci_included
graalvm20-ee-11-nodejs-devel.x86_64                    20.2.1-2.el7                      ol7_oci_included
graalvm20-ee-11-polyglot.x86_64                        20.2.1-2.el7                      ol7_oci_included
graalvm20-ee-11-python.x86_64                          20.2.1-2.el7                      ol7_oci_included
graalvm20-ee-11-python-devel.x86_64                    20.2.1-2.el7                      ol7_oci_included
graalvm20-ee-11-ruby.x86_64                            20.2.1-2.el7                      ol7_oci_included
graalvm20-ee-11-ruby-devel.x86_64                      20.2.1-2.el7                      ol7_oci_included
graalvm20-ee-11-tools.x86_64                           20.2.1-2.el7                      ol7_oci_included
graalvm20-ee-11-wasm.x86_64                            20.2.1-2.el7                      ol7_oci_included
graalvm20-ee-8.x86_64                                  20.2.1-2.el7                      ol7_oci_included
graalvm20-ee-8-devel.x86_64                            20.2.1-2.el7                      ol7_oci_included
graalvm20-ee-8-javascript.x86_64                       20.2.1-2.el7                      ol7_oci_included
graalvm20-ee-8-jdk.x86_64                              20.2.1-2.el7                      ol7_oci_included
graalvm20-ee-8-jre.x86_64                              20.2.1-2.el7                      ol7_oci_included
graalvm20-ee-8-jre-headless.x86_64                     20.2.1-2.el7                      ol7_oci_included
graalvm20-ee-8-libpolyglot.x86_64                      20.2.1-2.el7                      ol7_oci_included
graalvm20-ee-8-llvm.x86_64                             20.2.1-2.el7                      ol7_oci_included
graalvm20-ee-8-llvm-toolchain.x86_64                   20.2.1-2.el7                      ol7_oci_included
graalvm20-ee-8-native-image.x86_64                     20.2.1-2.el7                      ol7_oci_included
graalvm20-ee-8-nodejs.x86_64                           20.2.1-2.el7                      ol7_oci_included
graalvm20-ee-8-nodejs-devel.x86_64                     20.2.1-2.el7                      ol7_oci_included
graalvm20-ee-8-polyglot.x86_64                         20.2.1-2.el7                      ol7_oci_included
graalvm20-ee-8-python.x86_64                           20.2.1-2.el7                      ol7_oci_included
graalvm20-ee-8-python-devel.x86_64                     20.2.1-2.el7                      ol7_oci_included
graalvm20-ee-8-ruby.x86_64                             20.2.1-2.el7                      ol7_oci_included
graalvm20-ee-8-ruby-devel.x86_64                       20.2.1-2.el7                      ol7_oci_included
graalvm20-ee-8-tools.x86_64                            20.2.1-2.el7                      ol7_oci_included
graalvm20-ee-8-wasm.x86_64                             20.2.1-2.el7                      ol7_oci_included
[opc@demo ~]$ 

graalvm20-ee-11-jdk.x86_64 패지키를 설치한다고 할 때 다음 명령을 수행한다.

sudo yum install -y graalvm20-ee-11-jdk.x86_64 

복수 Java 중에서 기본 Java 설정

Oracle Linux에 여러 자바 버전이 설치되어 있다면 다음 명령을 이용하여 기본 자바를 지정할 수 있습니다.

sudo alternatives --config java

위 명령을 이용하여 Oracle Java 11이 설치된 상황에서 GraalVM 11버전으로 기본 자바를 바꾸는 과정은 다음 이미지와 같습니다.

설치된 자바 패키지 제거

yum으로 설치된 java 패키지는 다음 명령으로 확인할 수 있습니다.

yum list installed | grep jdk

위 명령을 실행한 결과는 다음과 같습니다.

위 결과 패키지 명으로 부터 특정 패키지를 지우는 명령은 다음과 같습니다.

sudo yum remove -y [package_name]

위에서 조회한 패키지 명 중에서 jdk-11.0.3.x86_64를 제거하는 명령은 다음과 같습니다.

요약

OCI Oracle Linux에 설정된 Oracle Java와 GraalVM의 yum 패키지를 조회하고 설치, 제거하는 방법을 살펴 보았습니다. 이 모든 상용 자바는 OCI에서 무상으로 이용 가능합니다.

참고 문서

김태완 avatar
작성자: 김태완
1999년 부터 Java, Framework, Middleware, SOA, DB Replication, Cache, CEP, NoSQL, Big Data, Cloud를 키워드로 살아왔습니다. 현재는 빅데이터와 Machine Learning을 중점에 두고 있습니다.
E-mail: taewanme@gmail.com

이 저작물은 Oracle과 관계없이 개인으로서 개인의 시간을 할애하여 작성된 글 입니다. 본 글의 내용, 입장, 예측은 Oracle을 공식적으로 절대 대변하지 않습니다.