웹사이트 검색

CentOS, Rocky Linux, RHEL 및 Fedora에 Java를 설치하는 방법


소개

이 튜토리얼은 현재 버전의 RPM 기반 Linux 배포판(Red Hat Enterprise Linux, CentOS, Fedora 및 Rocky Linux)에 Java를 설치하는 방법을 보여줍니다. Java는 많은 서버측 응용 프로그램을 실행할 수 있는 널리 사용되는 프로그래밍 언어 및 소프트웨어 플랫폼입니다.

이 자습서에서는 Java의 최신 기본 버전 설치, 설치를 위해 이전 버전 선택, 필요에 따라 환경에서 여러 버전 간에 전환하는 방법을 다룹니다.

전제 조건

이 가이드를 시작하기 전에 서버에 sudo 권한이 구성된 루트가 아닌 일반 사용자가 있어야 합니다. 이 사용자는 서버에 로그인해야 합니다. Rocky Linux 8용 초기 서버 설정 가이드의 단계에 따라 일반 사용자 계정을 구성하는 방법을 배울 수 있습니다.

1단계 - OpenJDK 설치

Java 플랫폼에는 Standard Edition(SE), Enterprise Edition(EE) 및 Micro Edition(ME)의 세 가지 버전이 있습니다. 이 튜토리얼은 Java SE(Java Platform, Standard Edition)에 중점을 둡니다. 거의 모든 오픈 소스 Java 소프트웨어는 Java SE와 함께 실행되도록 설계되었습니다.

설치할 수 있는 Java SE 패키지에는 JRE(Java Runtime Environment)와 JDK(Java Development Kit)의 두 가지가 있습니다. JRE는 JVM(Java Virtual Machine)을 구현한 것으로 컴파일된 Java 응용 프로그램 및 애플릿을 실행할 수 있습니다. JDK에는 Java 응용 프로그램 및 애플릿을 작성, 개발 및 컴파일하는 데 필요한 JRE 및 기타 소프트웨어가 포함되어 있습니다.

OpenJDK와 Oracle Java의 두 가지 Java 구현도 있습니다. 두 구현 모두 거의 동일한 코드를 기반으로 하지만 Java의 참조 구현인 OpenJDK는 완전히 오픈 소스인 반면 Oracle Java에는 일부 독점 코드가 포함되어 있습니다. 대부분의 Java 응용 프로그램은 둘 중 하나로 잘 작동하지만 소프트웨어에서 요구하는 구현을 사용해야 합니다.

단일 시스템에 다양한 Java 버전 및 릴리스를 설치할 수 있지만 대부분의 사람들은 한 번만 설치하면 됩니다. 이를 염두에 두고 응용 프로그램을 실행하거나 개발하는 데 필요한 Java 버전만 설치하십시오.

이 섹션에서는 yum 패키지 관리자를 사용하여 미리 빌드된 OpenJDK JRE 및 JDK 패키지를 설치하는 방법을 보여줍니다. yum은 RPM 패키지를 사용하는 배포판의 기본 패키지 관리자입니다.

yum을 사용하여 OpenJDK를 설치하려면 sudo yum install java를 실행할 수 있습니다.

  1. sudo yum install java

기본적으로 버전을 지정하지 않고 java를 설치하려고 하면 OpenJDK JRE의 가장 일반적인 안정 버전으로 확인됩니다. 이 출력에서 볼 수 있듯이 이 작성 당시에는 java-1.8.0-openjdk입니다.

Output
Last metadata expiration check: 0:02:38 ago on Tue 22 Feb 2022 04:57:59 PM UTC. Dependencies resolved. ======================================================================================== Package Arch Version Repo Size ======================================================================================== Installing: java-1.8.0-openjdk x86_64 1:1.8.0.322.b06-2.el8_5 appstream 341 k Installing dependencies: alsa-lib x86_64 1.2.5-4.el8 appstream 488 k atk x86_64 2.28.1-1.el8 appstream 270 k avahi-libs x86_64 0.7-20.el8 baseos 61 k copy-jdk-configs noarch 4.0-2.el8 appstream 29 k cups-libs x86_64 1:2.2.6-40.el8 baseos 432 k fribidi x86_64 1.0.4-8.el8 appstream 88 k …

Java와 함께 여러 종속성도 제공됩니다. 확인 프롬프트에서 y를 입력한 다음 Enter 키를 눌러 설치를 계속합니다. 설치하려는 리포지토리의 서명 키를 수락하라는 메시지가 표시될 수도 있습니다.

Output
Importing GPG key 0x6D745A60: Userid : "Release Engineering <infrastructure@rockylinux.org>" Fingerprint: 7051 C470 A929 F454 CEBE 37B7 15AF 5DAC 6D74 5A60 From : /etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial Is this ok [y/N]:

y를 입력한 다음 Enter 키를 다시 누릅니다.

이제 작동하는 Java 설치가 있어야 합니다. 이를 확인하기 위해 java -version을 실행하여 현재 환경에서 사용할 수 있는 Java 버전을 확인할 수 있습니다.

  1. java -version

참고: 대부분의 경우 명령줄 인수 앞에는 단일 문자 인수의 경우 하나의 대시가, 전체 단어 인수의 경우 두 개의 대시가 옵니다. Java는 모든 인수에 하나의 대시를 사용하는 다른 규칙을 따릅니다(이 경우 -version).

Output
openjdk version "1.8.0_322" OpenJDK Runtime Environment (build 1.8.0_322-b06) OpenJDK 64-Bit Server VM (build 25.322-b06, mixed mode)

Java 명명 규칙과 Linux 패키지 명명 규칙 간의 상호 작용은 다소 혼란스러울 수 있습니다. 이 자습서의 앞부분에서 개발을 위한 전체 JDK 환경과 Java 애플리케이션 실행을 위한 JRE 환경 간의 차이점을 명확히 했습니다. OpenJDK는 Java의 오픈 소스 배포판 이름이지만 실제로는 OpenJDK JRE만 설치했습니다. 전체 OpenJDK JDK를 설치하려면 이름에 -devel이 추가된 해당 패키지를 설치해야 합니다. 이것은 다른 프로그래밍 환경을 위한 개발 패키지에 대한 일반적인 규칙이며, 여기서는 용어가 어색하게 겹치지만 Java도 따릅니다.

이전과 마찬가지로 java-devel을 설치하여 기본 버전을 얻거나 java-1.8.0-openjdk-devel을 지정할 수 있습니다.

  1. sudo yum install java-devel
Output
DigitalOcean Droplet Agent 63 kB/s | 3.3 kB 00:00 Dependencies resolved. ======================================================================================== Package Arch Version Repository Size ======================================================================================== Installing: java-1.8.0-openjdk-devel x86_64 1:1.8.0.322.b06-2.el8_5 appstream 9.8 M Transaction Summary ======================================================================================== Install 1 Package Total download size: 9.8 M Installed size: 41 M Is this ok [y/N]:

이 패키지를 설치한 후 특정 버전 비호환성이 없는 모든 Java 소프트웨어를 컴파일하고 실행할 수 있는 전체 OpenJDK 환경이 있어야 합니다. 다음 섹션에서는 다른 버전의 Java를 설치하고 관리합니다.

2단계 – 다른 OpenJDK 릴리스 설치

보다 최근에 OpenJDK는 Oracle Java 릴리스를 보다 밀접하게 추적하기 위해 버전 번호 체계를 변경했습니다. 최신 버전의 OpenJDK를 설치하려면 1.8.0과 같이 패키지 이름에 버전 번호를 지정하면 됩니다. 예를 들어 OpenJDK 17을 설치하려면 yum install java-17-openjdk를 수행할 수 있습니다.

  1. sudo yum install java-17-openjdk
Output
Last metadata expiration check: 0:03:36 ago on Tue 22 Feb 2022 05:42:44 PM UTC. Dependencies resolved. ======================================================================================== Package Arch Version Repository Size ======================================================================================== Installing: java-17-openjdk x86_64 1:17.0.2.0.8-4.el8_5 appstream 244 k Installing dependencies: adwaita-cursor-theme noarch 3.28.0-2.el8 appstream 646 k adwaita-icon-theme noarch 3.28.0-2.el8 appstream 11 M at-spi2-atk x86_64 2.26.2-1.el8 appstream 88 k at-spi2-core x86_64 2.28.0-1.el8 appstream 168 k colord-libs x86_64 1.4.2-1.el8 appstream 234 k java-17-openjdk-headless x86_64 1:17.0.2.0.8-4.el8_5 appstream 41 M lcms2 x86_64 2.9-2.el8 appstream 163 k …

이전과 마찬가지로 패키지 이름에 -devel을 추가하여 전체 JDK 환경을 설치할 수 있습니다. 그러나 이후에 java 프로그램을 실행하면 기본적으로 이전에 설치한 OpenJDK 1.8.0 버전이 계속 사용되며 java -version을 다시 실행하여 확인할 수 있습니다.

  1. java -version
Output
openjdk version "1.8.0_322" OpenJDK Runtime Environment (build 1.8.0_322-b06) OpenJDK 64-Bit Server VM (build 25.322-b06, mixed mode)

다음 단계에서는 설치된 Java 버전을 관리합니다.

3단계 – 기본 Java 버전 설정

여러 버전의 Java를 설치한 경우 하나를 기본값(즉, 사용자가 java 명령을 실행할 때 실행될 버전)으로 설정할 수 있습니다. 또한 일부 애플리케이션에서는 사용할 Java 설치를 찾기 위해 특정 환경 변수를 설정해야 합니다.

심볼릭 링크를 통해 기본 명령을 관리하는 alternatives 명령을 사용하여 기본 Java 버전을 선택할 수 있습니다. alternatives로 관리할 수 있는 사용 가능한 Java 버전을 나열하려면 alternatives –config java를 사용하세요.

  1. sudo alternatives --config java

출력에는 설치한 Java의 두 버전이 모두 나열되어야 합니다.

output
There are 2 programs which provide 'java'. Selection Command ----------------------------------------------- *+ 1 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-2.el8_5.x86_64/jre/bin/java) 2 java-17-openjdk.x86_64 (/usr/lib/jvm/java-17-openjdk-17.0.2.0.8-4.el8_5.x86_64/bin/java) Enter to keep the current selection[+], or type selection number:

선택 번호를 입력하여 기본적으로 사용할 java 실행 파일을 선택합니다. java 명령이 올바른 라이브러리 집합을 가리키도록 시스템에서 필요한 심볼릭 링크를 재정렬합니다. 필요에 따라 이 명령을 다시 실행할 수 있으며 그에 따라 java -version의 출력이 변경되어야 합니다.

  1. java -version
Output
openjdk version "17.0.2" 2022-01-18 LTS OpenJDK Runtime Environment 21.9 (build 17.0.2+8-LTS) OpenJDK 64-Bit Server VM 21.9 (build 17.0.2+8-LTS, mixed mode, sharing)

또한 많은 Java 응용 프로그램은 JAVA_HOME 또는 JRE_HOME 환경 변수를 사용하여 사용할 java 실행 파일을 결정합니다.

예를 들어 Java를 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-2.el8_5.x86_64/jre/bin 에 설치한 경우 (즉, java 실행 파일은 <^>(/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-2.el8_5. x86_64/jre/bin/java), bash 셸 또는 스크립트에서 JAVA_HOME 환경 변수를 다음과 같이 설정할 수 있습니다.

  1. export JAVA_HOME=(/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-2.el8_5.x86_64/jre

참고: JAVA_HOME 환경 변수는 /jre 디렉토리에서 끝나는 Java 설치 경로를 설정하는 것을 선호합니다. 이 규칙은 하나의 변수에서 다음 변수로 변경될 수 있으므로 변경할 때 예를 주의 깊게 확인하는 것이 가장 좋습니다.

기본적으로 시스템의 모든 사용자에 대해 JAVA_HOME을 설정하려면 /etc/environment 파일에 이전 줄을 추가합니다. /etc/environment 파일을 직접 편집할 필요가 없도록 echo>> 셸 리디렉션을 사용하여 파일에 추가할 수 있습니다. , 다음 명령을 실행하여:

  1. sudo sh -c "echo export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-2.el8_5.x86_64/jre >> /etc/environment"

다음 단계에서는 OpenJDK 버전과 함께 Oracle의 독점 Java를 설치합니다.

4단계 - Oracle Java 설치

가이드의 이 섹션에서는 이 문서 작성 당시 이러한 패키지의 최신 릴리스인 Oracle Java JRE 및 JDK(64비트)를 설치하는 방법을 보여줍니다.

메모:

이 섹션에서는 wget 명령을 사용하여 Oracle Java 소프트웨어 패키지를 다운로드합니다. wget은 Linux 배포판에 기본적으로 포함되지 않을 수 있으므로 따라가려면 다음을 실행하여 설치해야 합니다.

  1. sudo yum install wget

Oracle Java를 설치하기 전에 포함된 단계 중 하나인 Java SE용 Oracle 바이너리 코드 라이선스 계약에 동의해야 합니다.

참고: Oracle Java를 설치하려면 Oracle Java 다운로드 페이지로 이동하여 라이센스 계약에 동의하고 적절한 Linux x86 .rpm 패키지의 다운로드 링크를 복사해야 합니다. wget 명령의 강조 표시된 부분을 복사한 다운로드 링크로 대체합니다.

홈 디렉토리로 변경하고 다음 명령을 사용하여 Oracle Java RPM을 다운로드합니다.

  1. cd ~
  2. wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.rpm"

그런 다음 yum localinstall을 사용하여 RPM을 설치합니다(다른 릴리스를 다운로드한 경우 여기에서 파일 이름을 대체).

  1. sudo yum localinstall jdk-17_linux-x64_bin.rpm

확인 프롬프트에서 y를 입력한 다음 Enter 키를 눌러 설치를 계속합니다.

이전에 다운로드한 아카이브 파일을 삭제할 수 있습니다.

  1. rm ~/jdk-17_linux-x64_bin.rpm

이제 alternatives 명령을 다시 실행할 수 있으며 Oracle Java를 사용하기 위한 세 번째 옵션이 표시되어야 합니다.

  1. sudo alternatives --config java
output
There are 3 programs which provide 'java'. Selection Command ----------------------------------------------- 1 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-2.el8_5.x86_64/jre/bin/java) + 2 java-17-openjdk.x86_64 (/usr/lib/jvm/java-17-openjdk-17.0.2.0.8-4.el8_5.x86_64/bin/java) * 3 /usr/java/jdk-17.0.2/bin/java Enter to keep the current selection[+], or type selection number:

이 자습서의 단계는 사용 사례에 따라 사용 가능한 Java 버전을 설치하고 실행하기에 충분해야 합니다.

결론

이 자습서에서는 yum 패키지 관리자, alternatives 명령 및 환경 변수를 사용하여 여러 버전의 Java를 설치하고 관리했습니다. 이것들은 모두 Linux 환경 관리의 기본적인 측면이며 Java는 다양한 버전으로 인해 이러한 측면에서 작업하는 특히 좋은 예를 제공합니다.

다음으로 다른 컨텍스트에서 Java를 사용하는 방법을 배우고 싶을 수 있습니다.