본문 바로가기

리눅스

java 버전 관리하기(alternatives)

출처 | http://naleejang.tistory.com/66 , http://blog.joostory.net/370

alternatives 옵션

alternatives 라는 명령어를 그냥 실행해 보면 아래와 같이 Help를 확인할 수 있다. 

# alternatives

대체 버전 1.3.13.5.EL4 - Copyright (C) 2001 Red Hat, Inc.

이 프로그램은 GNU Public License를 따른다는 조건 하에서 이 문서를

자유롭게 재배포하실 수 있습니다.

사용법: alternatives --install <link> <name> <path> <priority>

                    [--initscript <service>]

                    [--slave <link> <name> <path>]*

       alternatives --remove <name> <path>

       alternatives --auto <name>

       alternatives --config <name>

       alternatives --display <name>

       alternatives --set <name> <path>

 

일반 옵션들: --verbose --test --help --usage --version

                --altdir <directory> --admindir <directory>


# 사용가능한 자바목록에 Java Version 추가

# alternatives --install /usr/bin/java java /user/wh/jdk1.6.0_35/bin/java 100


# Default Java로 설정 변경

# alternatives --config java

 

4 개의 프로그램이 'java'를 제공합니다.

 

  선택    명령

-----------------------------------------------

*+ 1           /usr/lib/jvm/jre-1.4.2-gcj/bin/java

   2           /user/wh/jdk1.6.0_35/bin/java

   3           /user/wh/jdk1.6.0_35/bin/jar

   4           /user/wh/jdk1.6.0_35/bin/javac

 

현재 선택[+]을 유지하시려면 엔터키를 누르십시오. 그렇지 않으면,  선택 번호를 입력해 주십시오:2


# java -version

java version "1.6.0_35"

Java(TM) SE Runtime Environment (build 1.6.0_35-b10)

Java HotSpot(TM) Server VM (build 20.10-b01, mixed mode)


# 자바목록에서 Java Version 삭제

# alternatives --remove java /user/wh/jdk1.6.0_35/bin/jar


**참고

오픈소스 진영에서 벌어지는 일들을 보면 정말 놀라운 일들이 많다. 조금이라도 기업이 사유화하려고 하면 그것을 forking 해서 새로운 오픈소스 프로젝트로 만들어버린다. Linux가 불을 지폈고, OpenOffice가 LibreOffice로, Sun Java가 OpenJDK로...
그럼 어디서 돈을 벌어야 하냐고 하겠지만 수많은 기업들이 그럼에도 불구하고 엄청난 돈을 벌고 있다.

어쨌든 나는 업무상 Sun Java를 사용해야 하는 관계로 java의 버전을 변경해야 했다. OpenJDK가 나온탓인지 Sun을 인수한 Oracle에서는 더이상 Linux에 자동 업데이트를 제공하지 않고 있다. 물론 자동 업데이트만 제공하지 않는 것이지 다운로드 받을 수는 있다. 그러면 또 누군가가 launchpad.net을 통해서 자동업데이트를 제공한다. 그걸 써도 되겠지만 소스리스트가 너무 지저분해지는 것 같아 그냥 다운로드 받아서 설치했다.

다운로드 받아서 /usr/lib/jvm 아래에다 넣어두고 path 걸어주면 끝! 이면 좋겠는데 OpenJDK 의 path가 무려 /usr/bin/java 로 걸려있어서 약간 귀찮게 되었다. 대체 어떻게 설치했길래 /usr/bin/java 에 넣었지 하며 살펴보았는데

$ whereis java
java: /usr/bin/java /etc/java /usr/lib/java /usr/bin/X11/java /usr/share/java
$ ls -l /usr/bin/java
lrwxrwxrwx 1 root root 22  4월  7 03:03 /usr/bin/java -> /etc/alternatives/java
$ ls -l /etc/alternatives/java
lrwxrwxrwx 1 root root 37  4월  7 17:53 /etc/alternatives/java -> /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java

중간에 alternatives 라는 것이 끼어있다. 아! 뭔가 이걸로 버전을 관리하고 있구나하는 느낌이 왔다.
찾아보니 역시 update-alternatives라는 녀석이었다.

사용방법은 생각보다 간단하다. java 라는 name으로 실행파일 리스트를 만들어준 후 기본 값을 선택해주면 된다. 지금은 java 라는 이름에 openjdk 만 들어가있는 상태이니까 다운로드 받은 jdk를 리스트에 추가해준 후 기본값으로 선택한다.

$ update-alternatives --install /usr/bin/java java /usr/lib/jvm/usr/lib/jvm/jdk1.7.0_03/jre/bin/java/jre/bin/java 1
$ update-alternatives --config java


'리눅스' 카테고리의 다른 글

서버용량 확인  (0) 2016.06.21
[error]Received fatal alert: handshake_failure through SSLHandshakeException  (0) 2016.01.11
java 버전 업데이트하기  (0) 2016.01.11
cron (리눅스 배치)  (0) 2015.10.05
[펌]tomcat-cach-control  (0) 2015.10.05