웹사이트 검색

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


소개

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

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

전제 조건

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

  • sudo 액세스 및 방화벽이 있는 루트가 아닌 사용자를 포함하여 Debian 9 초기 서버 설정 가이드 튜토리얼에 따라 Debian 9 서버 1대를 설정했습니다.

기본 JRE/JDK 설치

Java를 설치하는 가장 쉬운 옵션은 Debian과 함께 패키지된 버전을 사용하는 것입니다. 기본적으로 Debian 9에는 JRE 및 JDK의 오픈 소스 변형인 Open JDK가 포함되어 있습니다.

이 패키지는 Java 8과 호환되는 OpenJDK 버전 1.8을 설치합니다. Java 8은 현재 장기 지원 버전이며 여전히 광범위하게 지원되지만 공용 유지 관리는 2019년 1월에 종료됩니다.

이 버전을 설치하려면 먼저 패키지 색인을 업데이트하십시오.

  1. sudo apt update

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

  1. java -version

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

Output
-bash: java: command not found

다음 명령을 실행하여 OpenJDK를 설치합니다.

  1. sudo apt install default-jre

이 명령은 JRE(Java Runtime Environment)를 설치합니다. 이렇게 하면 거의 모든 Java 소프트웨어를 실행할 수 있습니다.

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

  1. java -version

다음 출력이 표시됩니다.

Output
openjdk version "1.8.0_181" OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-1~deb9u1-b13) OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)

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

  1. sudo apt install default-jdk

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

  1. javac -version

다음 출력이 표시됩니다.

Output
javac 1.8.0_181

다음으로 오라클의 공식 JDK와 JRE를 설치하는 방법을 알아보겠습니다.

오라클 JDK 설치

Oracle에서 배포하는 공식 버전인 Oracle JDK를 설치하려면 사용하려는 버전에 대한 새 패키지 저장소를 추가해야 합니다.

먼저 소스 목록에 추가 리포지토리를 추가하는 데 사용할 apt-get-repository 명령을 추가하는 software-properties-common 패키지를 설치합니다.

다음을 사용하여 software-properties-common을 설치합니다.

  1. sudo apt install software-properties-common

이를 설치하면 Oracle의 Java를 설치할 수 있습니다.

오라클 자바 8 설치

현재 장기 지원 버전인 Java 8을 설치하려면 먼저 패키지 저장소를 추가하십시오.

  1. sudo add-apt-repository ppa:webupd8team/java

저장소를 추가하면 다음과 같은 메시지가 표시됩니다.

output
Oracle Java (JDK) Installer (automatically downloads and installs Oracle JDK8). There are no actual Java files in this PPA. Important -> Why Oracle Java 7 And 6 Installers No Longer Work: http://www.webupd8.org/2017/06/why-oracle-java-7-and-6-installers-no.html Update: Oracle Java 9 has reached end of life: http://www.oracle.com/technetwork/java/javase/downloads/jdk9-downloads-3848520.html The PPA supports Ubuntu 18.04, 17.10, 16.04, 14.04 and 12.04. More info (and Ubuntu installation instructions): - for Oracle Java 8: http://www.webupd8.org/2012/09/install-oracle-java-8-in-ubuntu-via-ppa.html Debian installation instructions: - Oracle Java 8: http://www.webupd8.org/2014/03/how-to-install-oracle-java-8-in-debian.html For Oracle Java 10, see a different PPA: https://www.linuxuprising.com/2018/04/install-oracle-java-10-in-ubuntu-or.html More info: https://launchpad.net/~webupd8team/+archive/ubuntu/java Press [ENTER] to continue or ctrl-c to cancel adding it

계속하려면 ENTER를 누르십시오. 일부 GPG 서명 키를 가져오려고 시도하지만 유효한 키를 찾을 수 없습니다.

Output
gpg: keybox '/tmp/tmpgt9wdvth/pubring.gpg' created gpg: /tmp/tmpgt9wdvth/trustdb.gpg: trustdb created gpg: key C2518248EEA14886: public key "Launchpad VLC" imported gpg: no ultimately trusted keys found gpg: Total number processed: 1 gpg: imported: 1 gpg: no valid OpenPGP data found.

다음 명령을 실행하여 리포지토리 소스에 대한 GPG 키를 수동으로 추가합니다.

  1. apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C2518248EEA14886

그런 다음 패키지 목록을 업데이트합니다.

  1. sudo apt update

패키지 목록이 업데이트되면 Java 8을 설치합니다.

  1. sudo apt install oracle-java8-installer

시스템이 Oracle에서 JDK를 다운로드하고 라이센스 계약에 동의할지 묻습니다. 계약에 동의하면 JDK가 설치됩니다.

오라클 자바 10 설치

Oracle Java 10을 설치하려면 먼저 리포지토리를 추가합니다.

  1. sudo add-apt-repository ppa:linuxuprising/java

다음 메시지가 표시됩니다.

Output
Oracle Java 10 installer Java binaries are not hosted in this PPA due to licensing. The packages in this PPA download and install Oracle Java 10 (JDK 10), so a working Internet connection is required. The packages in this PPA are based on the WebUpd8 Oracle Java PPA packages: https://launchpad.net/~webupd8team/+archive/ubuntu/java Created for users of https://www.linuxuprising.com/ Issues or suggestions? Leave a comment here: https://www.linuxuprising.com/2018/04/install-oracle-java-10-in-ubuntu-or.html More info: https://launchpad.net/~linuxuprising/+archive/ubuntu/java Press [ENTER] to continue or ctrl-c to cancel adding it

설치를 계속하려면 ENTER를 누르십시오. Java 8과 마찬가지로 유효하지 않은 서명 키에 대한 메시지가 표시됩니다.

Output
gpg: keybox '/tmp/tmpvuqsh9ui/pubring.gpg' created gpg: /tmp/tmpvuqsh9ui/trustdb.gpg: trustdb created gpg: key EA8CACC073C3DB2A: public key "Launchpad PPA for Linux Uprising" imported gpg: Total number processed: 1 gpg: imported: 1 gpg: no valid OpenPGP data found.

이 명령을 실행하여 필요한 키를 가져옵니다.

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EA8CACC073C3DB2A

그런 다음 패키지 목록을 업데이트합니다.

  1. sudo apt update

패키지 목록이 업데이트되면 Java 10을 설치합니다.

  1. sudo apt install oracle-java10-installer

시스템이 Oracle에서 JDK를 다운로드하고 라이센스 계약에 동의할지 묻습니다. 계약에 동의하면 JDK가 설치됩니다.

이제 사용하려는 Java 버전을 선택하는 방법을 살펴보겠습니다.

자바 관리

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

  1. sudo update-alternatives --config java

이 자습서에서 모든 버전의 Java를 설치한 경우 출력은 다음과 같습니다.

Output
There are 3 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ 0 /usr/lib/jvm/java-10-oracle/bin/java 1091 auto mode * 1 /usr/lib/jvm/java-10-oracle/bin/java 1091 manual mode 2 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 manual mode 3 /usr/lib/jvm/java-8-oracle/jre/bin/java 1081 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가 포함되지만 이에 국한되지 않습니다.

다음으로 JAVA_HOME 환경 변수를 설정해 보겠습니다.

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-10-oracle/bin/java 1091 auto mode * 1 /usr/lib/jvm/java-10-oracle/bin/java 1091 manual mode 2 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 manual mode 3 /usr/lib/jvm/java-8-oracle/jre/bin/java 1081 manual mode

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

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

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

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

  1. sudo nano /etc/environment

이 파일의 끝에 다음 줄을 추가하고 강조 표시된 경로를 자신의 복사된 경로로 바꾸십시오.

JAVA_HOME="/usr/lib/jvm/java-8-oracle/jre"

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

파일을 저장하고 편집기를 종료합니다.

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

  1. source /etc/environment

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

  1. echo $JAVA_HOME

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

Output
/usr/lib/jvm/java-8-oracle/jre

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

결론

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