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월에 종료됩니다.
이 버전을 설치하려면 먼저 패키지 색인을 업데이트하십시오.
- sudo apt update
다음으로 Java가 이미 설치되어 있는지 확인합니다.
- java -version
Java가 현재 설치되어 있지 않으면 다음 출력이 표시됩니다.
Output-bash: java: command not found
다음 명령을 실행하여 OpenJDK를 설치합니다.
- sudo apt install default-jre
이 명령은 JRE(Java Runtime Environment)를 설치합니다. 이렇게 하면 거의 모든 Java 소프트웨어를 실행할 수 있습니다.
다음을 사용하여 설치를 확인합니다.
- java -version
다음 출력이 표시됩니다.
Outputopenjdk 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도 설치됩니다.
- sudo apt install default-jdk
Java 컴파일러인 javac
의 버전을 확인하여 JDK가 설치되었는지 확인합니다.
- javac -version
다음 출력이 표시됩니다.
Outputjavac 1.8.0_181
다음으로 오라클의 공식 JDK와 JRE를 설치하는 방법을 알아보겠습니다.
오라클 JDK 설치
Oracle에서 배포하는 공식 버전인 Oracle JDK를 설치하려면 사용하려는 버전에 대한 새 패키지 저장소를 추가해야 합니다.
먼저 소스 목록에 추가 리포지토리를 추가하는 데 사용할 apt-get-repository
명령을 추가하는 software-properties-common
패키지를 설치합니다.
다음을 사용하여 software-properties-common
을 설치합니다.
- sudo apt install software-properties-common
이를 설치하면 Oracle의 Java를 설치할 수 있습니다.
오라클 자바 8 설치
현재 장기 지원 버전인 Java 8을 설치하려면 먼저 패키지 저장소를 추가하십시오.
- 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 서명 키를 가져오려고 시도하지만 유효한 키를 찾을 수 없습니다.
Outputgpg: 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 키를 수동으로 추가합니다.
- apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C2518248EEA14886
그런 다음 패키지 목록을 업데이트합니다.
- sudo apt update
패키지 목록이 업데이트되면 Java 8을 설치합니다.
- sudo apt install oracle-java8-installer
시스템이 Oracle에서 JDK를 다운로드하고 라이센스 계약에 동의할지 묻습니다. 계약에 동의하면 JDK가 설치됩니다.
오라클 자바 10 설치
Oracle Java 10을 설치하려면 먼저 리포지토리를 추가합니다.
- 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과 마찬가지로 유효하지 않은 서명 키에 대한 메시지가 표시됩니다.
Outputgpg: 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
그런 다음 패키지 목록을 업데이트합니다.
- sudo apt update
패키지 목록이 업데이트되면 Java 10을 설치합니다.
- sudo apt install oracle-java10-installer
시스템이 Oracle에서 JDK를 다운로드하고 라이센스 계약에 동의할지 묻습니다. 계약에 동의하면 JDK가 설치됩니다.
이제 사용하려는 Java 버전을 선택하는 방법을 살펴보겠습니다.
자바 관리
하나의 서버에 여러 Java를 설치할 수 있습니다. update-alternatives
명령을 사용하여 명령줄에서 사용할 기본 버전을 구성할 수 있습니다.
- sudo update-alternatives --config java
이 자습서에서 모든 버전의 Java를 설치한 경우 출력은 다음과 같습니다.
OutputThere 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 명령에 대해 이 작업을 수행할 수 있습니다.
- sudo update-alternatives --config javac
이 명령을 실행할 수 있는 다른 명령에는 keytool
, javadoc
및 jarsigner
가 포함되지만 이에 국한되지 않습니다.
다음으로 JAVA_HOME
환경 변수를 설정해 보겠습니다.
JAVA_HOME 환경 변수 설정
Java를 사용하여 작성된 많은 프로그램은 JAVA_HOME
환경 변수를 사용하여 Java 설치 위치를 결정합니다.
이 환경 변수를 설정하려면 먼저 Java가 설치된 위치를 확인하십시오. update-alternatives
명령을 다시 사용하십시오.
- 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
를 엽니다.
- sudo nano /etc/environment
이 파일의 끝에 다음 줄을 추가하고 강조 표시된 경로를 자신의 복사된 경로로 바꾸십시오.
JAVA_HOME="/usr/lib/jvm/java-8-oracle/jre"
이 파일을 수정하면 시스템의 모든 사용자에 대한 JAVA_HOME
경로가 설정됩니다.
파일을 저장하고 편집기를 종료합니다.
이제 이 파일을 다시 로드하여 현재 세션에 변경 사항을 적용하십시오.
- source /etc/environment
환경 변수가 설정되었는지 확인합니다.
- echo $JAVA_HOME
방금 설정한 경로가 표시됩니다.
Output/usr/lib/jvm/java-8-oracle/jre
다른 사용자는 이 설정을 적용하려면 source /etc/environment
명령을 실행하거나 로그아웃했다가 다시 로그인해야 합니다.
결론
이 자습서에서는 여러 버전의 Java를 설치하고 이를 관리하는 방법을 배웠습니다. 이제 Tomcat, Jetty, Glassfish, Cassandra 또는 Jenkins와 같이 Java에서 실행되는 소프트웨어를 설치할 수 있습니다.