본문 바로가기
Java

CentOS 6.4에서 JDK (Oracle) 1.4.2_19 Installation

강철지그·2014년 3월 6일·조회 8,813

JDK 1.4 기반의 구식 애플리케이션을 최신 Linux 서버로 옮겨야 하는 미션이 있었습니다.

Oracle 홈페이지에서 j2sdk-1_4_2_19-linux-i586.bin을 다운로드했습니다. 파일명에 i586이 붙어 있는 것처럼 32비트용 바이너리라서, 64비트 Linux에서 실행할 때 32비트 호환 라이브러리가 필요할 수 있습니다.

설치 파일 실행

# ./j2sdk-1_4_2_19-linux-i586.bin
Sun Microsystems, Inc.
Binary Code License Agreement
for the
JAVA 2 SOFTWARE DEVELOPMENT KIT (J2SDK), STANDARD EDITION,
VERSION 1.4.2_X

SUN MICROSYSTEMS, INC. ("SUN") IS WILLING TO LICENSE THE
(생략)

라이선스 화면이 나오면 계속 스페이스 바를 눌러 넘어갑니다.

For inquiries please contact:  Sun Microsystems,  Inc., 4150
Network  Circle,  Santa  Clara,   California  95054,  U.S.A.
(LFI#129530/Form ID#011801)


Do you agree to the above license terms? [yes or no]

yes를 입력합니다.

yes
Unpacking...
Checksumming...
0
0
Extracting...
./j2sdk-1_4_2_19-linux-i586.bin: ./install.sfx.28360: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
Done.

실패합니다.

/lib/ld-linux.so.2 오류 해결

오류 메시지의 핵심은 /lib/ld-linux.so.2가 없다는 것입니다. 이는 32비트 ELF 실행 파일을 실행할 때 필요한 로더입니다. Q&A에서 ld-linux.so.2를 설치해 보라는 솔루션이 제시되어 시도해 봅니다.

# yum install ld-linux.so.2
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: centos.tt.co.kr
 * extras: centos.tt.co.kr
 * updates: centos.tt.co.kr
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package glibc.i686 0:2.12-1.132.el6 will be installed
--> Processing Dependency: libfreebl3.so(NSSRAWHASH_3.12.3) for package: glibc-2.12-1.132.el6.i686
--> Processing Dependency: libfreebl3.so for package: glibc-2.12-1.132.el6.i686
--> Running transaction check
---> Package nss-softokn-freebl.x86_64 0:3.12.9-11.el6 will be updated
---> Package nss-softokn-freebl.i686 0:3.14.3-9.el6 will be installed
---> Package nss-softokn-freebl.x86_64 0:3.14.3-9.el6 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

==================================================================================================================================
 Package                               Arch                      Version                            Repository               Size
==================================================================================================================================
Installing:
 glibc                                 i686                      2.12-1.132.el6                     base                    4.3 M
Installing for dependencies:
 nss-softokn-freebl                    i686                      3.14.3-9.el6                       base                    147 k
Updating for dependencies:
 nss-softokn-freebl                    x86_64                    3.14.3-9.el6                       base                    157 k

Transaction Summary
==================================================================================================================================
Install       2 Package(s)
Upgrade       1 Package(s)

Total download size: 4.6 M
Is this ok [y/N]:

glibc.i686 패키지가 설치 대상에 잡힙니다. 뭔가 될까요.

Is this ok [y/N]: y
Downloading Packages:
(1/3): glibc-2.12-1.132.el6.i686.rpm                                                                       | 4.3 MB     00:00
(2/3): nss-softokn-freebl-3.14.3-9.el6.i686.rpm                                                            | 147 kB     00:00
(3/3): nss-softokn-freebl-3.14.3-9.el6.x86_64.rpm                                                          | 157 kB     00:00
----------------------------------------------------------------------------------------------------------------------------------
Total                                                                                             3.5 MB/s | 4.6 MB     00:01
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : nss-softokn-freebl-3.14.3-9.el6.i686                                                                           1/4
  Installing : glibc-2.12-1.132.el6.i686                                                                                      2/4
  Updating   : nss-softokn-freebl-3.14.3-9.el6.x86_64                                                                         3/4
  Cleanup    : nss-softokn-freebl-3.12.9-11.el6.x86_64                                                                        4/4
  Verifying  : glibc-2.12-1.132.el6.i686                                                                                      1/4
  Verifying  : nss-softokn-freebl-3.14.3-9.el6.i686                                                                           2/4
  Verifying  : nss-softokn-freebl-3.14.3-9.el6.x86_64                                                                         3/4
  Verifying  : nss-softokn-freebl-3.12.9-11.el6.x86_64                                                                        4/4

Installed:
  glibc.i686 0:2.12-1.132.el6

Dependency Installed:
  nss-softokn-freebl.i686 0:3.14.3-9.el6

Dependency Updated:
  nss-softokn-freebl.x86_64 0:3.14.3-9.el6

Complete!

JDK 재설치

이제 다시 JDK를 설치합니다.

Do you agree to the above license terms? [yes or no]
yes
Unpacking...
Checksumming...
0
0
Extracting...
UnZipSFX 5.40 of 28 November 1998, by Info-ZIP (Zip-Bugs@lists.wku.edu).
   creating: j2sdk1.4.2_19/
   creating: j2sdk1.4.2_19/jre/
   creating: j2sdk1.4.2_19/jre/bin/
  inflating: j2sdk1.4.2_19/jre/bin/java
  inflating: j2sdk1.4.2_19/jre/bin/keytool
  inflating: j2sdk1.4.2_19/jre/bin/policytool
(생략)
  inflating: j2sdk1.4.2_19/man/ja_JP.eucJP/man1/idlj.1
Creating j2sdk1.4.2_19/lib/tools.jar
Creating j2sdk1.4.2_19/jre/lib/rt.jar
Creating j2sdk1.4.2_19/jre/lib/jsse.jar
Creating j2sdk1.4.2_19/jre/lib/charsets.jar
Creating j2sdk1.4.2_19/jre/lib/ext/localedata.jar
Creating j2sdk1.4.2_19/jre/lib/plugin.jar
Creating j2sdk1.4.2_19/jre/javaws/javaws.jar
Done.

이번에는 에러 없이 풀렸습니다.

설치 확인

마지막으로 JDK 버전을 확인합니다.

# cd j2sdk1.4.2_19/bin
# ./java -version
java version "1.4.2_19"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_19-b04)
Java HotSpot(TM) Client VM (build 1.4.2_19-b04, mixed mode)

정리하면, 64비트 환경에서 32비트용 JDK 1.4 설치 파일을 실행하면서 필요한 32비트 로더가 없어 발생한 문제였습니다. glibc.i686 설치 후 다시 실행하니 정상적으로 압축이 풀리고, java -version으로도 설치된 JDK 버전을 확인할 수 있었습니다.

관련 글

댓글 0

로그인 후 댓글을 남길 수 있습니다.

아직 댓글이 없습니다.