본문 바로가기

Developing/Ubuntu 환경 설치

Ubuntu에 JDK 설치(업그레이드)하기

 어렵지 않게 작업을 진행할 수 있다고 생각했다. 예전에는 Ubuntu에서 apt-get을 이용하면 편하게 설치할 수 있었지만 Oracle이 Java를 갖게 되고 나서... 이런 package 지원을 하지 않는다고 한다. 결국에는 oracle 홈페이지에서 jdk를 다운 받아서 설치하는 방법 밖에 없었다. 본 포스트는 아래와 같은 설치 환경에서 SSH(터미널)를 이용해서 설치를 진행할 것이다. 참고로 아래 과정은  JDK 처음 설치 뿐만 아니라 업그레이드의 경우에도 해당된다.

 설치환경: ubuntu-11.10-desktop-i386

 JDK: Java SE Development Kit 7u3


1. JDK를 다운 받는다.

http://www.oracle.com 에서 다운 경로를 찾는다.

현재는 Java SE에 해당되는 다운경로는 다음과 같다.

http://www.oracle.com/technetwork/java/javase/downloads/index.html

여기서 필자가 심하게 고생한 문제는 wget를 이용해서 링크 주소에 있는 파일을 다운 받고자 했기 때문에 발생했다.

download 페이지에서 라이센스 동의를 한 후, 링크 주소를 복사해서 아래와 같이 wget으로 리눅스에서 직접 다운 받을 경우, 원본 파일을 받는 것이 아니라 링크 html을 다운 받게 된다. 결국 그렇게 하면 아무것도 아닌 파일 가지고 tar 압축이 왜 안풀리지 방황을 하게 된다. 필자의 경우 이 문제 가지고 며칠 동안 방황했다. ㅠㅠ 

/$ wget  http://download.oracle.com/otn-pub/java/jdk/7u3-b04/jdk-7u3-linux-i586.tar.gz

여기서 참고할 점은 file이라는 명령어를 이용해서 해당 파일이 어떤 형식인지 알 수 있다는 점이다.

 /$ file  jdk-7u3-linux-i586.tar.gz

정상적인 gzip 파일인 경우 제대로 나올 것이다...

결국에는 윈도우 노트북에서 위 파일은 다운로드 한후 ftp로 리눅스로 옮겼다. -> 이 부분을 해결하려면 oracle 홈페이지에 ftp로 접근해서 다운 받아야 할 듯하다. 이부분에 대해서는 알게 되는대로 올리도록 하겠다.


2. 다운 받은 압축 파일을 푼다.

압축 파일은 gzip으로 되있기 때문에, gunzip을 이용해서 압축을 푼후, tar로 한번더 압축을 푼다. 혹은 한방에 tar -xzvf 로 풀어도 무방하다. * 이상하게 oracle 홈페이지에서 윈도우로 다운 받으면 파일명이  jdk-7u3-linux-i586.gz 이다. oracle 놈들 철저하진 않은듯하다....

 /$ gunzip  jdk-7u3-linux-i586.gz
 /$ tar -xvf  jdk-7u3-linux-i586

 

3. 압축 푼 폴더를 /usr/lib/jvm 으로 옮긴다.

차후 버젼 관리를 위해 이렇게 /usr/lib/jvm이란 폴더에 옮긴다. 사실 압축을 푼 순간 binary 파일이기 때문에 설치가 끝난것이다. 옮기는 거야 mv 를 사용하면 된다~


4. update-alternatives에 java를 등록한다.

update-alternatives를 이용해서 java 버젼 관리를 할 수 있다. 아래와 같이 java와 javac, javaws를 등록하면 타 사용자도 java를 이용할 수 있게 된다.

 /$ sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.7.0/bin/java" 1
 /$ sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.7.0/bin/javac" 1 
 /$ sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk1.7.0/bin/javaws" 1 


5. 이전 버젼 Java가 깔려있을 경우(JDK 업그레이드 하는 경우)

이전 버젼 java가 이미 설치 되어 있을 경우 아래와 같이 하면 어떤 버젼을 사용할지 결정 할 수 있게 해준다.

 /$ sudo update-alternatives --config java
 /$ sudo update-alternatives --config javac
 /$ sudo update-alternatives --config javaws

위 명령어를 입력하면 4번 과정에서 과거 등록했던 다른 버젼의 java 목록을 선택할 수 있게 해준다. 이를 통해 차후 java 업데이트에도 무리 없이 다른 버젼으로 업그레이드가 가능하다.

* 참고로 위와 같은 설정을 해주게 되면 환경 변수 Path를 등록할 필요가 없다. 왜냐하면, /usr/bin이라는 폴더 자체가 모든 usr가 사용하는 실행 파일이 들어있는 것이기 때문에 update-alternatives를 통해서 위 과정은 링크를 걸어주는 것이라고 이해하면 된다. 하지만 tomcat이나 다른 java를 이용하는 프로그램을 위해서 JAVA_HOME은 /etc/profile에 추가해준다.

 export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_03



'Developing > Ubuntu 환경 설치' 카테고리의 다른 글

Ubuntu Server 무선랜 설정  (0) 2012.04.14