01.JAVA/Java2008. 7. 14. 23:50
반응형

저는 rpm 파일로부터 설치하지 않고, 바로 bin 파일을 다운받아 설치합니다.


jdk-1_5_0_14-linux-i586.bin 파일을 다운받아

아래와 같은 명령어 순으로 설치를 하고, 환경설정까지 하면..

리눅스에 완벽한 java 설치가 끝나게 됩니다.


1. java 설치 파일의 퍼미션 변경(설치할 수 있도록 실행파일로 바꿈)

chmod 755 jdk-1_5_0_14-linux-i586.bin


2. 원하는 위치로 이동(저는 개인적으로 /usr/local에 모든 사용자 파일을 넣기 때문에. -0-;;)

mv jdk-1_5_0_14-linux-i586.bin /usr/local


3. 설치

./jdk-1_5_0_14-linux-i586.bin


4. 설치할 때.. 라이센스를 확인하는게 나오는데.. 스페이스 여러번 누르고, 마지막에 yes 한번이면 설치가 끝납니다. ^^


5. 설치가 끝나면.. 아래와 같은 디렉터리가 생성됩니다.

jdk-1_5_0_14-linux-i586


6. 다음에 버전이 다른 java를 손 쉽게 변경하기 위해(환경은 건드리지 않고..) 링크를 걸어줍니다.

ln -s /usr/local/jdk-1_5_0_14-linux-i586 /usr/local/java


7. 환경설정파일을 건드려봅시다~~

vi /etc/profile


JAVA_HOME=/usr/local/java
export JAVA_HOME
PATH=$PATH:$JAVA_HOME/bin

CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/*:.


8. 환경설정 파일을 업로드 시켜 줍니다.

source /etc/profile


9. java가 제대로 동작하는지 확인..





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


Java의 원조는 Sun이지만 GNU를 비롯하여 여러 벤더들이 자바 플랫폼을 - 컴파일러와 가상 머신(Java Runtime Environment, JRE) 그리고 여러 툴을 포함해서 - 배포하고 있다. 대부분의 리눅스 배포판에는 GNU-Java가 탑재되어 있는데 아마도 Sun Java는 open source가 아니기 때문이리라 생각된다. 여기서는 페도라 6 (이하 페도라)에 Sun Java 1.6.0-update 2버전의 Java SE (Standard Edition, SDK + JRE)를 설치하는 방법을 설명한다. 2007년 8월 현재 Sun Java의 최신 버전은 1.6.0-update 2이고 페도라에 깔린 GNU-Java는 1.4.2 버전이다.

문제점
설치만 높고 본다면 Sun에서 자체적으로 실행이 가능한 설치파일과 rpm 패키지 두가지 형태로 Java SE 를 제공하고 있기 때문에 특별히 어려울 건 없다. 그리고 원한다면 GNU-Java를 언인스톨해버리면 그만이다. 그러나 혹시나 다른 프로그램들이 디폴트로 GNU-Java를 찾게 설정되어 있을 가능성도 있고, 또는 GNU-Java를 시스템에 지우지 않고 필요할 때마다 Sun Java랑 쉽게 바꿔가며 쓰고 싶은 경우가 있을 것이다. 실제로 어떤 프로램들이 GNU-Java를 디폴트로 설정되어 있는 지 확인하여 보지는 않았지만, 만약 그런 프로그램들이 있다면 단순한 설정파일을 고치는것도 때에 따라선 초보 리눅서에게는 쉽지 않은 삽질이 될 수도 있을 것이다.

실제로 Sun Java가 설치되는 디렉토리는 각 리눅스 배포판의 프로그램 설치 관행과는 일치하지 않는다. Sun Java를 rpm으로 설치하는 경우 /usr/Java/jdk버전/ 디렉토리 밑에 설치가 되는데, 페도라의 경우는 여러 종류의 자바를 /usr/lib/jvm/Java버전-배포자/ 디렉토리 밑에 설치하고, 이들을 alternatives를 통해 이중 링크로 관리한다. 예를 들어 /usr/bin/Java 명령은 /etc/alternatives/Java에 대한 소프트 링크이고, 이 링크는 다시 /usr/Java/아래 설치된 여러 Java버전 중 하나를 가르키는 소프트 링크이다. 자세한 내용은 alternatives의 man page를 참조.

대안
그렇다면 각 배포판의 관행에 맞추어 Sun Java를, 아니면 여러개의 다른 Java패키지을 설치하고 이를 쉽게 관리하는 방법은 없을까? 여기에 대한 대안이 Jpackage와 alternatives를 활용하는 방법이다. Jpackage는 각종 자바 패키지를 리눅스의 디렉토리 배치 관행에 맞게 설치되도록 재패키징한 것으로 여기에는 Sun이나 IBM의 자바 플랫폼도 포함된다. 다만 이들의 경우 재배포는 허용되지만 아직 open source는 아니기 때문에 소스코드는 포함하고 있지 않다.

설치
Jpackage의 Sun Java를 설치하기로 맘을 먹었다면 두가지 방법이 있는데 Jpackage.org에서 재패키징한 Sun Java패키지(java-1.6.0-sun-버전번호-1jpp.nosrc.rpm)를 직접 빌드해서 설치하거나; Sun에서 직접 배포한 Java패키지를 설치한 후 이걸 리눅스 디렉토리구조와 호환되게 만들어 주는 패키지(Java-1.6.0-Sun-compat-버전번호-1jpp.i586.rpm)를 설치하는 것이다. 여기서는 후자의 방법을 택하겠다. 설치 순서는 간단하다: 1) Sun Java 패키지 다운로드 및 설치 2) Jpackage 다운로드 및 설치 3) Alternatives 확인 및 설정 4) JAVA_HOME 환경변수 설정 5) 그리고 보너스로 mozilla 또는 firefox에 Java 플러그인 설치 확인.

1) Sun Java 패키지 다운로드 및 설치
http://Java.Sun.com/downloads에 가서 jdk-6u2-linux-i586-rpm.bin를 다운로드한다. 위에서 언급한 대로 두가지 형태로 제공이 되는데 반드시 rpm으로 제공되는 Linux RPM in self-extracting file (Linux self-extracting file 이 아니다)를 받아 아래와 같이 설치한다. 혹시나 초보 리눅서를 위하여 설치명령을 자세히 설명하였다.

cd 다운로드한 디렉토리
chmod 755 jdk-6u2-linux-i586-rpm.bin
./jdk-6u2-linux-i586-rpm.bin


2) Jpackage 다운로드 및 설치
Jpackage를 설치하기 전에 확인해야 할 사항이 하나 있는데 바로 jpackage-utils 패키지가 이미 설치되어 있는지 확인하는 것이다. 아래와 같이 jpackage설치여부를 확인하고 설치할 수 있다.

rpm -qa | grep jpackage-utils

위 명령결과 아무것도 안나오면, 아래와 같이 jpackage-utils패키지를 설치한다.

yum install jpackage-utils


그 다음에는 아래 링크에서 Jpackage를 다운받아 설치한다. ftp://jpackage.hmdc.harvard.edu/JPackage/1.7/generic/RPMS.non-free/. 이때 반드시 1)에서 설치한 Sun Java와 같은 버전의 화일을 다운 받아야 하는데 여기에서는 1.6.0-update 2를 설치했으므로 Java-1.6.0-Sun-compat-1.6.0.02-1jpp.i586.rpm를 받아야 할 것이다. 다음과 같이 설치한다.

cd 다운로드한 디렉토리
rpm -Uvh Java-1.6.0-Sun-compat-1.6.0.02-1jpp.i586.rpm


3) Alternatives 확인 및 설정
위 패키지를 설치하면 /usr/lib/jvm/와 /etc/alternatives/ 디렉토리 밑에 약간 어지러울 정도로 많은 링크를 만든 후에 디폴트로 Sun Java를 사용하도록 alternatives를 셋팅해 주는데 아래와 같이 확인 해볼 수 있다.

alternatives --config Java

위 명령 결과는 아래와 같이 보일 것이다.

There are 2 programs which provide 'Java'.

Selection Command
-----------------------------------------------
1 /usr/lib/jvm/jre-1.4.2-gcj/bin/Java
*+ 2 /usr/lib/jvm/jre-1.6.0-Sun/bin/Java

원한다면 다시 GNU 자바를 디폴트로 잡아 줄 수 있는데 자세한 용법은 다시 alternatives의 man page를 참고.

4) JAVA_HOME 환경변수 설정

bash사용자는 export JAVA_HOME=/usr/lib/jvm/java를 c-shell 사용자는 setenv JAVA_HOME /usr/lib/jvm/java를 적당한 시작 스크립트 화일에 넣어준다. Bash의 경우 ~/.bash_profile에 넣으면 무난할 듯.

5) mozilla 또는 firefox에 Java 플러그인 설치 확인

위 1)번 과정에서 Sun Java 32비트 버전을 설치하면 SDK나 JRE외에 mozilla나 firefox에서 플러그인으로 사용할 수 있는 라이브러리 파일인 libJavaplugin_oji.so가 같이 설치되는데 Java-1.6.0-Sun-compat-1.6.0.02-1jpp.i586.rpm 패키지 설치과정에서 위 플러그인을 사용할 수 있도록 mozilla 플러그인 디렉토리 밑에 소프트 링크를 만들어 준다. 아쉽지만 64비트 버전 Java의 경우 플러그인이 아직 제공되지는 않는다. 다음과 같이 확인할 수 있다.

ls -l /usr/lib/mozilla/plugins

위 명령 결과 화면에 아래와 같은 부분이 보인다면

libJavaplugin_oji.so -> usr/lib/jvm/Java-1.5.0-Sun-1.5.0.09/jre/plugin/i386/ns7/libJavaplugin_oji.so


아무 이상이 없는 것이다. 혹시 없다면 아래와 같이 직접 링크를 만들어 준다.

cd /usr/lib/mozilla/plugins
ln -s /usr/lib/jvm/Java-1.6.0-Sun-1.6.0.02/jre/plugin/i386/ns7/libJavaplugin_oji.so ./


마지막으로 한 가지 첨언한다면 혹시나 초보자의 경우에는 Java-1.6.0-Sun-compat-1.6.0.02-1jpp.i586.rpm가 만든 여러 링크들은 가급적 직접 수정하지 않는 것이 좋을 듯하다. 만약 수정해야 할 필요가 있을 때에는 패키지를 제거하거나 재설치하는 것이 아마 나을 듯.

------------
References
CCL Sun Java Development Kit on FC6. <http://ccl.net/cca/software/SOURCES/JAVA/JSDK-1.5/index.shtml>
[Jpackage] Installation. <http://www.jpackage.org/installation.php>

Posted by 1010