리눅스 자바 버전 업그레이드 - linugseu jaba beojeon eobgeuleideu

티스토리 뷰

좋은 링크를 발견해서 그대로 따라 했더니 잘 됐습니다.
http://news.softpedia.com/news/How-to-Install-Java-in-Fedora-Core-6-39724.shtml

1. 설치할 jdk(or jre) 다운로드

[주의] rpm 버전이 아니라 그냥 self-extracting(Linux self-extracting file) 파일입니다

플랫폼에 리눅스 선택하시고, multi-language버전 다운 받으시면 됩니다.

https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=jdk-6-oth-JPR@CDS-CDS_Developer
2. 설치할 폴더로 파일 이동
mv jdk-6-linux-i586.bin /opt
3. 설치할 폴더로 이동하여 권한 설정을 변경합니다.
cd /opt
chmod +x jdk-6-linux-i586.bin
4. 설치합니다.
./jdk-6-linux-i586.bin
5. 다운 받은 파일 제거 합니다.
rm -rf jdk-6-linux-i586.bin
6. 파이어폭스의 플러그인에서 사용하는 java의 링크를 변경합니다.
ln -s /opt/jdk1.6.0/jre/plugin/i386/ns7/libjavaplugin_oji.so /usr/local/firefox/plugins/libjavaplugin_oji.so
자세한 경로는 저와 다를 수 있습니다. 각각 자바 설치 폴더와 파이어폭스 설치 폴더로 변경해 주시면 됩니다.
7. 패스 설정
vi /etc/profile.d/java.sh
편집기 열고 다음과 같이 패스를 넣어 줍니다.
export J2RE_HOME=/opt/jdk1.6.0/jre
export PATH=$J2RE_HOME/bin:$PATH
8. 위에서 만든 파일을 사용하도록 합니다.
source /etc/profile.d/java.sh
9. 패스 설정 확인
which java
명령으로 방금 설치한 java 디렉토리가 나오는지 확인합니다.
10. 시스템에서 사용할 java 변경
/usr/sbin/alternatives --install /usr/bin/java java /opt/jdk1.6.0/jre/bin/java 2
/usr/sbin/alternatives --config java

마지막 줄에서 선택 가능한 java가 두 개 나올 것 입니다. 이 때 2 를 입력합니다.
11. 변경 됐는지 확인
/usr/sbin/alternatives --display java
12. 마지막으로 자바 버전 확인
java -version

 출처 : [바게의 열린공간] http://blog.bagesoft.com/

소개

우분투에 자바를 설치하는 몇가지 방법이 있습니다.

이 글에선 설치가 비교적 간단하고 자바 버전관리도 쉽다고 판단되어 package 관리자를 통한 설치 방법JDK 버전을 쉽게 변경하는 방법을 공유합니다.

간단한 설치 프로세스는 아래와 같습니다.

  1. apt 패키지 정보 업데이트
  2. 자바 JDK 설치
  3. bashrc에 JAVA_HOME 추가
  4. bashrc 실행

간단한 자바 버전 변경 프로세스는 아래와 같습니다.

  1. JAVA 버전 확인
  2. update-alternatives 명령어를 통해 자바 버전 변경
  3. JAVA 버전 확인

설치 방법

1. apt 패키지 인덱스 정보를 아래 명령어로 업데이트하여 자바 리스트를 갱신합니다.

sudo apt update

2. 원하는 자바 버전을 설치합니다. 이 글에선 8버전과 16버전을 선택하였습니다.

sudo apt install openjdk-8-jdk
sudo apt install openjdk-16-jdk

3. bashrc에 JAVA_HOME을 추가합니다.

  • export 명령어에 대한 설명은 이 글 맨 아래에 추가하였습니다.
  • 많은 application(Apache Hadoop 등)은 자바 위치를 찾기위해 JAVA_HOME 변수를 참조합니다. 이에 다른 어플리케이션에서 쉽게 사용할 수 있도록, JAVA_HOME을 설정합니다.
sudo vi ~/.bashrc
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
리눅스 자바 버전 업그레이드 - linugseu jaba beojeon eobgeuleideu

4. bashrc 변경 사항을 적용하기 위해 아래 명령어를 통해 bashrc를 1회 실행합니다

source ~/.bashrc

버전 변경 방법

1. Ubuntu에서 application들의 다양한 버전 관리를 담당하는 update-alternatives 명령어를 이용하여 설치된 자바 버전을 확인합니다.

# 현재 자바 버전 확인
java -version

# 설치된 자바 버전 리스트 확인
update-alternatives --list java

2. 버전을 변경하고자 한다면 아래 명령어 2가지를 실행한 후 java와 javac의 버전을 변경해 줍니다.

sudo update-alternatives --config java
sudo update-alternatives --config javac
리눅스 자바 버전 업그레이드 - linugseu jaba beojeon eobgeuleideu

3. 현재 자바 버전이 변경되었는지 확인합니다.

java -version

update-alternatives에 대한 추가 설명

  • /usr/bin/java 는 우분투에서 자바 명령어를 실행하기 위해 자바 설치시 자동으로 추가된 심볼릭 링크이며, /etc/alternatives/java 를 가르키고 있습니다.
  • /etc/alternatives/javaupdate-alternatives 에서 관리 중이며, 실제로 설치된 자바 디렉토리를 가르킵니다. sudo update-alternatives --config java 명령어를 통해 자바 디렉토리를 변경 가능합니다.
  • 링크를 정리하자면 /usr/bin/java/etc/alternatives/javaactual java directory 의 형태를 가지고 있습니다. 아래 readlink 명령어를 통해 보이는 link가 확인 가능합니다.
리눅스 자바 버전 업그레이드 - linugseu jaba beojeon eobgeuleideu
리눅스 자바 버전 업그레이드 - linugseu jaba beojeon eobgeuleideu

bashrc에 export 명령어가 하는 일

export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
리눅스 자바 버전 업그레이드 - linugseu jaba beojeon eobgeuleideu

1. readlink -f /usr/bin/java 는 해당 심볼릭 링크가 가르키는 최종 directory나 file의 경로를 가지고 옵니다(위 그림 참조)

2. sed "s:bin/java::" 는 문자열의 마지막 bin/java 를 제거해줍니다.

3. export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::") 를 통해 JAVA_HOME이 update-alternatives가 관리하는 directory로 동적으로 변경하게 해줍니다.