Ubuntu 22.04에서 Apt로 Java 설치하는 방법

소개

Java 및 JVM(Java 가상 머신)은 Tomcat, Jetty, Glassfish, Cassandra, 그리고 Jenkins를 포함한 다양한 종류의 소프트웨어에 필요합니다.

이 가이드에서는 apt를 사용하여 Java Runtime Environment (JRE) 및 Java Developer Kit (JDK)의 여러 버전을 설치합니다. 오픈 JDK뿐만 아니라 Oracle의 공식 JDK도 설치합니다. 그런 다음 프로젝트에 사용할 버전을 선택합니다. 완료되면 JDK를 사용하여 소프트웨어를 개발하거나 Java Runtime을 사용하여 소프트웨어를 실행할 수 있습니다.

DigitalOcean App Platform을 사용하여 GitHub에서 프론트엔드 애플리케이션을 배포하세요. DigitalOcean이 앱을 확장하는 데 집중하도록 하세요.

필수 조건

이 자습서를 따르려면 다음이 필요합니다:

단계 1 — Java 설치

Java 설치에는 두 가지 주요 구성 요소가 있습니다. JDK는 컴파일러 및 디버거와 같은 Java 개발에 필수적인 소프트웨어 도구를 제공합니다. JRE는 Java 프로그램을 실제로 실행하는 데 사용됩니다. 또한 Java를 설치하는 두 가지 주요 옵션이 있습니다. OpenJDK는 Java의 오픈 소스 구현이며 Ubuntu와 함께 제공됩니다. Oracle JDK는 Java의 원래 버전으로 Oracle, 즉 Java의 개발자에 의해 완전히 유지보수됩니다.

이러한 버전 모두가 Oracle에서 공식적으로 인식됩니다. 두 버전 모두 Oracle에 의해 개발되었지만 OpenJDK는 오픈 소스 성격으로 인해 커뮤니티 기여가 추가되었습니다. 그러나 Java 11부터 두 옵션이 이제 기능적으로 동일하게 Oracle의 자세한 내용에 따라 되었습니다. 설치할 버전을 선택하는 것은 귀하의 상황에 적합한 라이센싱을 선택하는 것으로 결정됩니다. 또한 OpenJDK는 JRE를 별도로 설치하는 옵션이 있지만 OracleJDK는 자체 JRE와 함께 제공됩니다.

옵션 1 — 기본 JRE/JDK 설치

자바를 설치하는 한 가지 방법은 우분투와 함께 제공되는 버전을 사용하는 것입니다. 기본적으로 우분투 22.04에는 오픈 JDK 11이 포함되어 있으며, 이는 JRE와 JDK의 오픈 소스 변형입니다.

Java의 OpenJDK 버전을 설치하려면 먼저 apt 패키지 인덱스를 업데이트하십시오:

  1. sudo apt update

다음으로, Java가 이미 설치되어 있는지 확인하십시오:

  1. java -version

현재 Java가 설치되어 있지 않은 경우 다음 출력을 받게 됩니다:

Output
Command 'java' not found, but can be installed with: sudo apt install default-jre # version 2:1.11-72build1, or sudo apt install openjdk-11-jre-headless # version 11.0.14+9-0ubuntu2 sudo apt install openjdk-17-jre-headless # version 17.0.2+8-1 sudo apt install openjdk-18-jre-headless # version 18~36ea-1 sudo apt install openjdk-8-jre-headless # version 8u312-b07-0ubuntu1

OpenJDK 11에서 JRE을 설치하려면 다음 명령을 실행하십시오:

  1. sudo apt install default-jre

JRE을 사용하면 거의 모든 Java 소프트웨어를 실행할 수 있습니다.

다음 명령으로 설치를 확인하십시오:

  1. java -version

다음과 유사한 출력을 받게 됩니다:

Output
openjdk version "11.0.14" 2022-01-18 OpenJDK Runtime Environment (build 11.0.14+9-Ubuntu-0ubuntu2) OpenJDK 64-Bit Server VM (build 11.0.14+9-Ubuntu-0ubuntu2, mixed mode, sharing)

특정 Java 기반 소프트웨어를 컴파일하고 실행하기 위해 JRE에 추가로 JDK가 필요할 수 있습니다. JDK를 설치하려면 다음 명령을 실행하십시오. 이 명령은 JRE도 설치합니다:

  1. sudo apt install default-jdk

javac, Java 컴파일러의 버전을 확인하여 JDK가 설치되었는지 확인하십시오:

  1. javac -version

다음 출력이 표시됩니다:

Output
javac 11.0.14

다음으로, 오라클의 공식 JDK와 JRE을 설치하는 방법을 배우게 됩니다.

옵션 2 — Oracle JDK 11 설치

자바에 대한 Oracle의 라이선스 계약은 패키지 관리자를 통한 자동 설치를 허용하지 않습니다. Oracle에서 배포하는 공식 버전인 Oracle JDK를 설치하려면 Oracle 계정을 만들고 수동으로 JDK를 다운로드하여 사용할 버전에 대한 새 패키지 저장소를 추가해야 합니다. 그런 다음 apt를 사용하여 서드 파티 설치 스크립트의 도움을 받아 설치할 수 있습니다. Oracle JDK에는 JRE가 포함되어 있으므로 별도로 설치할 필요가 없습니다.

다운로드해야 할 Oracle JDK 버전은 설치 스크립트의 버전과 일치해야 합니다. 필요한 버전을 확인하려면 oracle-java11-installer 페이지를 방문하십시오.

Jammy 패키지를 찾아서 다음 그림에 표시된대로 확인하십시오:

이 이미지에서 스크립트 버전은 11.0.13입니다. 이 경우 Oracle JDK 11.0.13이 필요합니다. 소프트웨어를 설치하는 시점에 따라 버전 번호가 다를 수 있습니다.

이 페이지에서는 아무것도 다운로드할 필요가 없습니다. 곧 apt를 통해 설치 스크립트를 다운로드할 것입니다.

다음으로, 아카이브 다운로드를 방문하고 필요한 버전과 일치하는 것을 찾으십시오.

이 목록에서 Linux x64 압축 아카이브 .tar.gz 패키지를 선택하십시오:

Oracle 라이선스 동의서를 수락하라는 화면이 표시됩니다. 라이선스 동의를 선택하고 다운로드 버튼을 누르십시오. 다운로드가 시작됩니다. 다운로드가 시작되기 전에 Oracle 계정에 다시 로그인해야 할 수 있습니다.

파일을 다운로드한 후 서버로 전송해야 합니다. 로컬 컴퓨터에서 파일을 서버로 업로드하십시오. macOS, Linux 또는 Windows의 Windows Subsystem for Linux을 사용하여 파일을 로컬 Downloads 폴더에 Oracle JDK 파일을 저장했다고 가정하고 다음 명령을 사용하여 파일을 sammy 사용자의 홈 디렉토리로 전송하십시오:

  1. scp Downloads/jdk-11.0.13_linux-x64_bin.tar.gz sammy@your_server_ip:~

파일 업로드가 완료되면 서버로 돌아가 Oracle의 Java를 설치하는 데 도움이 되는 서드파티 저장소를 추가하십시오.

먼저, 설치할 소프트웨어를 검증하는 데 사용되는 서명 키를 가져오십시오:

  1. sudo gpg --homedir /tmp --no-default-keyring --keyring /usr/share/keyrings/oracle-jdk11-installer.gpg --keyserver keyserver.ubuntu.com --recv-keys EA8CACC073C3DB2A

다음 출력이 표시됩니다:

Output
gpg: keybox '/usr/share/keyrings/oracle-jdk11-installer.gpg' created gpg: /tmp/trustdb.gpg: trustdb created gpg: key EA8CACC073C3DB2A: public key "Launchpad PPA for Linux Uprising" imported gpg: Total number processed: 1 gpg: imported: 1

다음으로, 패키지 소스 목록에 저장소를 추가하십시오:

  1. echo "deb [arch=amd64 signed-by=/usr/share/keyrings/oracle-jdk11-installer.gpg] https://ppa.launchpadcontent.net/linuxuprising/java/ubuntu jammy main" | sudo tee /etc/apt/sources.list.d/oracle-jdk11-installer.list > /dev/null

새로운 소프트웨어를 설치할 수 있도록 패키지 목록을 업데이트하십시오:

  1. sudo apt update

설치 프로그램은 /var/cache/oracle-jdk11-installer-local에 다운로드한 Oracle JDK를 찾습니다. 이 디렉터리를 생성하고 Oracle JDK 아카이브를 해당 위치로 이동하십시오.

  1. sudo mkdir -p /var/cache/oracle-jdk11-installer-local/
  2. sudo cp jdk-11.0.13_linux-x64_bin.tar.gz /var/cache/oracle-jdk11-installer-local/

마지막으로, 패키지를 설치하십시오:

  1. sudo apt install oracle-java11-installer-local

설치 프로그램은 먼저 Oracle 라이선스 동의를 받으시라고 요청합니다. 동의를 받은 후에 설치 프로그램이 Java 패키지를 추출하여 설치합니다.

이제 어떤 버전의 Java를 사용할지 선택하는 방법을 살펴보겠습니다.

단계 2 — Java 관리하기

한 서버에 여러 Java 설치를 할 수 있습니다. update-alternatives 명령을 사용하여 명령 줄에서 사용할 기본 버전을 구성할 수 있습니다.

  1. sudo update-alternatives --config java

이 튜토리얼에서 두 가지 버전의 Java를 설치한 경우 출력은 다음과 같을 것입니다:

Output
There are 2 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 auto mode 1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode * 2 /usr/lib/jvm/java-11-oracle/bin/java 1091 manual mode Press <enter> to keep the current choice[*], or type selection number:

기본값으로 사용할 Java 버전과 관련된 숫자를 선택하거나 현재 설정을 그대로 유지하려면 ENTER 키를 누르십시오.

이 명령을 실행할 수 있는 다른 Java 명령에는 javac 같은 컴파일러가 포함됩니다:

  1. sudo update-alternatives --config javac

이 명령을 실행할 수 있는 다른 명령에는 keytool, javadoc, jarsigner 등이 포함됩니다.

단계 3 — JAVA_HOME 환경 변수 설정하기

Java로 작성된 많은 프로그램들은 Java 설치 위치를 결정하기 위해 JAVA_HOME 환경 변수를 사용합니다.

이 환경 변수를 설정하려면 먼저 Java가 설치된 위치를 확인합니다. update-alternatives 명령어를 사용하세요:

  1. sudo update-alternatives --config java

이 명령은 각 Java 설치와 해당 설치 경로를 표시합니다:

Output
There are 2 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 auto mode 1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode * 2 /usr/lib/jvm/java-11-oracle/bin/java 1091 manual mode Press <enter> to keep the current choice[*], or type selection number:

이 경우 설치 경로는 다음과 같습니다:

  1. OpenJDK 11은 다음 위치에 있습니다: /usr/lib/jvm/java-11-openjdk-amd64/bin/java.
  2. Oracle Java는 다음 위치에 있습니다: /usr/lib/jvm/java-11-oracle/jre/bin/java.

선호하는 설치에서 경로를 복사합니다. 그런 다음 /etc/environment 파일을 nano나 좋아하는 텍스트 편집기를 사용하여 엽니다:

  1. sudo nano /etc/environment

이 파일의 끝에 다음 줄을 추가하고, 강조된 경로를 복사한 경로로 대체하고, 경로에 bin/ 부분을 포함하지 않도록 주의하세요:

/etc/environment
JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"

이 파일을 수정하면 시스템의 모든 사용자에게 JAVA_HOME 경로가 설정됩니다.

파일을 저장하고 편집기를 종료하세요.

이제 현재 세션에 변경 사항을 적용하기 위해 이 파일을 다시로드하세요:

  1. source /etc/environment

환경 변수가 설정되었는지 확인하세요:

  1. echo $JAVA_HOME

방금 설정한 경로가 표시됩니다:

Output
/usr/lib/jvm/java-11-openjdk-amd64

다른 사용자는 명령을 실행해야 합니다: source /etc/environment 또는 설정을 적용하려면 로그아웃하고 다시 로그인하십시오.

결론

이 튜토리얼에서 여러 버전의 자바를 설치하고 관리하는 방법을 배웠습니다. 이제 Tomcat, Jetty, Glassfish, Cassandra 또는 Jenkins와 같은 Java에서 실행되는 소프트웨어를 설치할 수 있습니다.

Source:
https://www.digitalocean.com/community/tutorials/how-to-install-java-with-apt-on-ubuntu-22-04