웹사이트 검색

Debian 11에서 Apt로 Java를 설치하는 방법


소개

Java 및 JVM(Java Virtual Machine)은 Jenkins를 비롯한 많은 종류의 소프트웨어에 필요합니다.

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

전제 조건

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

  • 루트가 아닌 sudo 사용 사용자가 있는 Debian 11 서버 1대. Debian 11 초기 서버 설정 가이드에 따라 이를 설정할 수 있습니다.

1단계 - 자바 설치

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

이 두 버전 모두 Oracle에서 공식적으로 인정합니다. 둘 다 Oracle에서 개발했지만 OpenJDK는 오픈 소스 특성으로 인해 커뮤니티 기여가 추가되었습니다. 그러나 Java 11부터 두 옵션은 Oracle에서 설명한 대로 이제 기능적으로 동일합니다. 어떤 것을 설치할지는 사용자 환경에 적합한 라이선스를 선택하는 것으로 귀결됩니다. 또한 OpenJDK에는 JRE를 별도로 설치할 수 있는 옵션이 있으며 OracleJDK는 JRE와 함께 패키지로 제공됩니다.

옵션 1 - 기본 JRE/JDK 설치

Java를 설치하는 한 가지 옵션은 Debian과 함께 패키지된 버전을 사용하는 것입니다. 기본적으로 Debian 11에는 JRE 및 JDK의 오픈 소스 변형인 OpenJDK 버전 11이 포함되어 있으며 Java 11과 호환됩니다.

Java 11은 현재 Java의 장기 지원 버전입니다.

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

  1. sudo apt update

다음으로 Java가 이미 설치되어 있는지 확인합니다.

  1. java -version

현재 Java가 설치되어 있지 않으면 다음 메시지가 표시됩니다.

Output
-bash: java: command not found

다음 명령을 실행하여 OpenJDK 11에서 기본 JRE를 설치합니다.

  1. sudo apt install default-jre

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

다음을 사용하여 설치를 확인합니다.

  1. java -version

다음 출력이 반환됩니다.

Output
openjdk version "11.0.16" 2022-07-19 OpenJDK Runtime Environment (build 11.0.16+8-post-Debian-1deb11u1) OpenJDK 64-Bit Server VM (build 11.0.16+8-post-Debian-1deb11u1, mixed mode, sharing)

일부 특정 Java 기반 소프트웨어를 컴파일하고 실행하려면 JRE 외에 JDK가 필요할 수 있습니다. JDK를 설치하려면 다음 명령을 실행합니다. 그러면 JRE도 설치됩니다.

  1. sudo apt install default-jdk

Java 컴파일러인 javac의 버전을 확인하여 JDK가 설치되었는지 확인합니다.

  1. javac -version

다음과 같은 결과가 표시됩니다.

Output
javac 11.0.16

다음으로 Oracle의 공식 JDK 및 JRE를 설치하는 방법을 배웁니다.

옵션 2 - Oracle JDK 11 설치

Oracle의 Java 라이센스 계약은 패키지 관리자를 통한 자동 설치를 허용하지 않습니다. 공식 Oracle JDK를 설치하려면 타사 설치 스크립트가 필요합니다. Oracle JDK에는 JRE가 포함되어 있으므로 별도로 설치할 필요가 없습니다.

다운로드해야 하는 Oracle의 JDK 버전은 설치 프로그램 스크립트의 버전과 일치해야 합니다. 필요한 버전을 찾으려면 oracle-java11-installer 페이지를 방문하십시오. 패키지 위치는 다음 그림에 있습니다.

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

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

이 목록에서 Linux x64 압축 아카이브 .tar.gz 패키지를 선택합니다.

Oracle 라이선스 계약에 동의하라는 화면이 표시됩니다. 사용권 계약에 동의하는 확인란을 선택하고 다운로드 버튼을 누릅니다. 다운로드가 시작됩니다. 다운로드를 시작하기 전에 Oracle 계정에 한 번 더 로그인해야 할 수 있습니다.

파일이 다운로드되면 서버로 전송해야 합니다. 로컬 컴퓨터에서 파일을 서버에 업로드합니다. Linux용 Windows 하위 시스템을 사용하는 macOS, Linux 또는 Windows에서 scp 명령을 사용하여 sammy의 홈 디렉터리로 파일을 전송합니다. 사용자. 다음 명령은 Oracle JDK 파일을 로컬 시스템의 Downloads 폴더에 저장했다고 가정합니다.

  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를 찾습니다. 먼저 다음 디렉터리를 만듭니다.

  1. sudo mkdir -p /var/cache/oracle-jdk11-installer-local/

그런 다음 Oracle JDK 아카이브를 여기로 이동합니다.

  1. 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를 눌러 현재 설정을 그대로 둡니다.

컴파일러(javac)와 같은 다른 Java 명령에 대해 이 작업을 수행할 수 있습니다.

  1. sudo update-alternatives --config javac

이 명령을 실행할 수 있는 다른 명령에는 keytool, javadocjarsigner가 포함되지만 이에 국한되지 않습니다.

3단계 - JAVA_HOME 환경 변수 설정

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

이 환경 변수를 설정하려면 먼저 Java가 설치된 위치를 확인하십시오. update-alternatives 명령을 사용합니다.

  1. sudo update-alternatives --config java

이 출력은 해당 설치 경로와 함께 각 Java 설치를 나열합니다.

Output
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

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

  • Oracle Java 11은 /usr/lib/jvm/java-11-oracle/bin/java에 있습니다.
  • OpenJDK 11은 /usr/lib/jvm/java-11-openjdk-amd64/bin/java에 있습니다.

이러한 경로는 java 실행 파일의 경로를 보여줍니다.

그런 다음 후행 bin/java 구성 요소를 제외하고 원하는 설치 경로를 복사합니다. 그런 다음 nano 또는 원하는 텍스트 편집기를 사용하여 /etc/environment를 엽니다.

  1. sudo nano /etc/environment

이 파일은 처음에는 비어 있을 수 있습니다. 파일 끝에 다음 줄을 추가하고 강조 표시된 경로를 복사한 경로로 바꾸고 경로의 bin/ 부분을 포함하지 않도록 합니다.

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

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

파일을 저장하고 편집기를 종료합니다. nano를 사용하는 경우 CTRL + X, Y를 누른 다음 ENTER를 눌러 이 작업을 수행할 수 있습니다.

이제 이 파일을 다시 로드하여 현재 세션에 변경 사항을 적용하십시오.

  1. source /etc/environment

환경 변수가 설정되었는지 확인합니다.

  1. echo $JAVA_HOME

출력은 이전에 설정한 경로를 반환합니다.

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

다른 사용자는 이 설정을 적용하려면 source /etc/environment 명령을 실행하거나 로그아웃했다가 다시 로그인해야 합니다.

결론

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