Ubuntu JDK tar.gz 설치 방법 (+ update-alternatives란)
ubuntu에 jdk tar.gz 설치 방법을 찾아보던 중 'update-alternatives'를 활용하는 간단한 방법을 찾아 공유하면서 update-alternatives 커맨드 툴에 대해서도 함께 정리한 내용입니다.
jdk tar.gz 설치 방법
#Login as root
sudo su
#create jdk directory
mkdir /opt/jdk
#uncompress, change to your file name
tar -zxf jdk-8u202-linux-x64.tar.gz -C /opt/jdk
#check if files are there
ls /opt/jdk
#update alternatives so the command java point to the new jdk
update-alternatives --install /usr/bin/java java /opt/jdk/jdk1.8.0_202/bin/java 100
#update alternatives so the command javac point to the new jdk
update-alternatives --install /usr/bin/javac javac /opt/jdk/jdk1.8.0_202/bin/javac 100
#check if java command is pointing to " link currently points to /opt/jdk/jdk1.8.0_202/bin/java"
update-alternatives --display java
#check if java command is pointing to " link currently points to /opt/jdk/jdk1.8.0_202/bin/javac"
update-alternatives --display javac
#check if java is running
java -version
패키지 관리자를 통해 JDK를 설치하는 경우 '/usr/lib/jvm' 또는 '/usr/lib/java'에 설치되며, 해당 경우와 같이 JDK를 직접 다운로드하여 설치하는 경우 관례적으로 '/usr/local/' 또는 '/opt/' 디렉터리에 설치하게 됩니다.
만약 설치 후 'java: No such file or directory' 오류가 발생하는 경우에는 x64 환경에서 x86 소프트웨어를 실행하는 등, 잘못된 JDK 버전을 설치했을 수 있습니다.
(x64 환경에서 x86 소프트웨어를 실행하려는 경우 x86 라이브러리 추가가 필요할 수 있습니다.)
update-alternatives 란
'update-alternatives'는 Debian 계열의 Linux 시스템에서 심볼릭 링크를 생성, 제거, 조회, 관리할 수 있는 기능을 제공하는 커맨드 라인 툴(Command Line Tools)로, 생성된 심볼릭 링크를 통해 여러 대체 프로그램들 사이에서 기본 프로그램을 선택하고 전환할 수 있게 해 줍니다.
(이러한 기능을 통해 시스템에서 여러 버전의 프로그램이나 명령어를 관리할 수 있습니다.)
심볼릭 링크 생성하기 (--install)
update-alternatives --install <link> <name> <path> <priority>
<link> : 심볼릭 링크의 경로
<name> : '/etc/alternatives' 경로에 위치한 심볼릭 링크 그룹명
<path> : 대상 패키지의 절대 경로
<priority> : 자동모드(auto)로 동작할 때 동작할 우선순위(숫자가 클수록 우선순위가 높습니다.)
심볼릭 링크 제거하기 (--remove)
update-alternatives --remove <name> <path>
<name> : 삭제할 대상 심볼릭 링크 그룹명 ('/etc/alternatives' 경로에 위치)
<path> : 삭제할 대상 패키지의 절대 경로
자동 모드 설정하기 (--auto)
update-alternatives --auto <name>
<name> : 자동 모드로 설정할 대상 심볼릭 링크 그룹명
수동 모드 설정하기 (--config)
update-alternatives --config <name>
<name> : 수동 모드로 설정할 대상 심볼릭 링크 그룹명
config 기능의 경우 다음과 같이 현재 적용 중인 프로그램(jdk1.8.0_202/bin/java)에 대해 '*' 표시가 되어있고, 만약 변경하려는 경우 해당되는 프로그램의 Selection 숫자를 입력하여 심볼릭 링크 그룹명에 대해 연동되는 프로그램을 지정할 수 있습니다.
심볼릭 링크 그룹 확인하기 (--display)
update-alternatives --display <name>
<name> : 확인하려는 심볼릭 링크 그룹명
display 기능의 경우 현재 해당 심볼릭 링크 그룹이 어떤 모드인지(수동 또는 자동), 현재 적용되어 있는 프로그램과 절대 경로, 그리고 해당 그룹에 등록된 다른 대체 프로그램들을 확인할 수 있습니다.
전체 심볼릭 링크 그룹 확인하기 (--list)
update-alternatives --list <name>
<name> : 확인하려는 심볼릭 링크 그룹명
< 참고 자료 >
https://gist.github.com/filipelenfers/ef3f593deb0751944bb54b744bcac074
https://skyoo2003.github.io/post/2017/03/17/what-is-alternatives-command/
'Programming > Linux' 카테고리의 다른 글
(linux) /etc/profile ~/.bash_profile /etc/bashrc ~/.bashrc 환경 파일 내용 정리 (0) | 2024.08.21 |
---|---|
리눅스 vim(vi) 편집기 문자열 치환 명령어 정리 (0) | 2024.08.18 |
CentOS MariaDB 오프라인 수동 설치 방법 (tar.gz 파일) (0) | 2024.02.01 |
(Linux) Too many open files 에러가 발생하는 경우 (0) | 2023.10.18 |
Ubuntu (20.04.5 LTS) Apache2 웹 서버 설치하는 방법 (0) | 2023.05.15 |