[CentOS 6.5] JDK (JAVA) 설치

by 조쉬 posted Mar 11, 2017
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

JDK란?


Java Development Kit의 약자로, 자바 응용 프로그램 개발에 필요한 컴파일러 및 기타 도구, JRE 자바 실행 환경( Java Runtime Environment )

클래스 라이브러리의 소스 및 자바 응용프로그램 샘플 소스 등을 포함합니다.

말 그대로 자바를 이용한 개발을 할 수 있게 해주는 도구를 뜻합니다.


  다운로드


콘솔환경에서 다운로드를 받기위해선 wget 패키지 설치가 필요합니다.

[root@localhost ~] # yum -y install wget

(..생략)


Complete !




현재 wget으로 1.6버전을 바로 받을 수 있는 URL을 찾을 수 없어 다른 방법으로 진행 하겠습니다.

우선 JDK를 다운로드 받기 위해 

http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-419409.html#jdk-6u45-oth-JPR 접속




라이센스 동의를 체크 해주시고 linux 64비트 환경의 bin 파일을 다운로드 받습니다.





다운로드를 진행 하려면 오라클 로그인이 필요합니다. 로그인 또는 회원가입 후 로그인 하여 다운로드를 진행해 주세요.





Chrome 기준 다운로드를 시작하면 브라우져 하단에 다운로드 진행 창이 나옵니다. 가장 오른쪽에 다운로드 항목 표시 클릭






그럼 새로운 탭에 현재 다운로드 항목을 볼 수 있는 탭이 열립니다.

다운로드 진행 중인 JDK 파일 아래 URL을 마우스 오른쪽 클릭 링크 주소 복사를 선택 URL주소를 복사 합니다.




이제 CentOS 콘솔로 돌아와 wget을 통해 다운로드를 진행 하겠습니다. 웹에서 다운로드 중인 JDK 파일을 취소 해주시거나 또는 

다음과 같은 방법을 사용하지 않고 윈도우에서 받은 JDK 파일을 FTP를 통해 파일 전송을 해주셔도 됩니다.

[root@localhost ~] # wget http://download.oracle.com/otn/java/jdk/6u45-b06/jdk-6u45-linux-x64.bin?AuthParam=1435711996_4fc76a7f2de9fe84f8615ff682525036

--2015-07-01 09:52:34--  http://download.oracle.com/otn/java/jdk/6u45-b06/jdk-6u45-linux-x64.bin?AuthParam=1435711996_4fc76a7f2de9fe84f8615ff682525036

Resolving download.oracle.com... 173.223.227.11, 173.223.227.43

Connecting to download.oracle.com|173.223.227.11|:80... connected.

HTTP request sent, awaiting response... 200 OK

Length: 72087592 (69M) [application/octet-stream]

Saving to: `jdk-6u45-linux-x64.bin?AuthParam=1435711996_4fc76a7f2de9fe84f8615ff682525036'


100%[=======================================================>] 72,087,592  1.18M/s   in 1m 44s  


2015-07-01 09:54:18 (678 KB/s) - `jdk-6u45-linux-x64.bin?AuthParam=1435711996_4fc76a7f2de9fe84f8615ff682525036' saved [72087592/72087592]




현재 위치에 파일과 디렉토리의 목록을 출력시켜주는 ls -l 을 통해 다운로드가 제대로 되었는지 확인합니다.

* ls -l  -> -l 옵션은 한줄에 한개씩 보여주는 옵션  

[root@localhost ~] # ls -l

합계 52

-rw-------. 1 root root 1133 2015-06-29 16:52 anaconda-ks.cfg

-rw-r--r--. 1 root root 9040 2015-06-29 16:52 install.log

-rw-r--r--. 1 root root 3161 2015-06-29 16:51 install.log.syslog

-rw-r--r--. 1 root root 72087592 2013-05-31 06:53 jdk-6u45-linux-x64.bin?AuthParam=1435711996_4fc76a7f2de9fe84f8615ff682525036

drwxr-xr-x. 2 root root 4096 2015-06-30 10:14 공개

drwxr-xr-x. 2 root root 4096 2015-06-30 10:14 다운로드

drwxr-xr-x. 2 root root 4096 2015-06-30 10:14 문서

drwxr-xr-x. 2 root root 4096 2015-06-30 10:14 바탕화면

drwxr-xr-x. 2 root root 4096 2015-06-30 10:14 비디오

drwxr-xr-x. 2 root root 4096 2015-06-30 10:14 사진

drwxr-xr-x. 2 root root 4096 2015-06-30 10:14 음악

drwxr-xr-x. 2 root root 4096 2015-06-30 10:14 템플릿




  설치


bin 파일을 실행하기 위해 bin파일의 권한부여를 합니다.

*u+x 옵션은 소유자에게 실행권한을 부여

[root@localhost ~] # chmod u+x jdk-6u45-linux-x64.bin?AuthParam (...생략)


tip. 파일 이름이 너무 길어 직접 타이핑이 어려울때 는 

chmod u+x jdk- 처럼 앞글자까지 타이핑 한후 tab 키를 누르면 자동완성으로 파일명이 출력 됩니다. 





다시 ls -l 로 확인해 보면 권한 부여가 제대로 수행 되었으면 파일의 색상이 바뀌어있습니다.

[root@localhost ~] # ls -l

합계 52

-rw-------. 1 root root 1133 2015-06-29 16:52 anaconda-ks.cfg

-rw-r--r--. 1 root root 9040 2015-06-29 16:52 install.log

-rw-r--r--. 1 root root 3161 2015-06-29 16:51 install.log.syslog

-rw-r--r--. 1 root root 72087592 2013-05-31 06:53 jdk-6u45-linux-x64.bin?AuthParam=1435711996_4fc76a7f2de9fe84f8615ff682525036

drwxr-xr-x. 2 root root 4096 2015-06-30 10:14 공개

drwxr-xr-x. 2 root root 4096 2015-06-30 10:14 다운로드

drwxr-xr-x. 2 root root 4096 2015-06-30 10:14 문서

drwxr-xr-x. 2 root root 4096 2015-06-30 10:14 바탕화면

drwxr-xr-x. 2 root root 4096 2015-06-30 10:14 비디오

drwxr-xr-x. 2 root root 4096 2015-06-30 10:14 사진

drwxr-xr-x. 2 root root 4096 2015-06-30 10:14 음악

drwxr-xr-x. 2 root root 4096 2015-06-30 10:14 템플릿




이제 JDK bin 파일을 실행 시켜 줍니다. 

*리눅스 파일시스템은 경로를 명확해 해주어야 합니다. 

.(single dot)은 현재의 디렉토리 ..(double dot)은 상위 디렉토리 이 둘은 히든 디렉토리로 숨겨져 있습니다.

 즉 "./command" 는 현재의 디렉토리에 있는 "command" 를 실행하라는 것 ./ 를 쓰지 않으려면 PATh를 설정해주어야 합니다.(이 부분은 나중에)

[root@localhost ~] # ./jdk-6u45-linux-x64.bin?AuthParam (...생략)


(....생략)

  inflating: jdk1.6.0_45/include/classfile_constants.h  

  inflating: jdk1.6.0_45/COPYRIGHT   

Creating jdk1.6.0_45/jre/lib/rt.jar

Creating jdk1.6.0_45/jre/lib/jsse.jar

Creating jdk1.6.0_45/jre/lib/charsets.jar

Creating jdk1.6.0_45/lib/tools.jar

Creating jdk1.6.0_45/jre/lib/ext/localedata.jar

Creating jdk1.6.0_45/jre/lib/plugin.jar

Creating jdk1.6.0_45/jre/lib/javaws.jar

Creating jdk1.6.0_45/jre/lib/deploy.jar

 

Done.



ls -l 로 다시 확인해 줍시다. 

jdk1.6.0_45 라는 디렉토리가 새로 생성 됬습니다. 

[root@localhost ~] # ls -l

합계 70456

-rw-------. 1 root root     1133 2015-06-29 16:52 anaconda-ks.cfg

-rw-r--r--. 1 root root     9040 2015-06-29 16:52 install.log

-rw-r--r--. 1 root root     3161 2015-06-29 16:51 install.log.syslog

-rwxr--r--. 1 root root 72087592 2013-05-31 06:53 jdk-6u45-linux-x64.bin?AuthParam=1435711996_4fc76a7f2de9fe84f8615ff682525036

drwxr-xr-x. 8 root root     4096 2013-03-27 08:53 jdk1.6.0_45

drwxr-xr-x. 2 root root     4096 2015-06-30 10:14 공개

drwxr-xr-x. 2 root root     4096 2015-06-30 10:14 다운로드

drwxr-xr-x. 2 root root     4096 2015-06-30 10:14 문서

drwxr-xr-x. 2 root root     4096 2015-06-30 10:14 바탕화면

drwxr-xr-x. 2 root root     4096 2015-06-30 10:14 비디오

drwxr-xr-x. 2 root root     4096 2015-06-30 10:14 사진

drwxr-xr-x. 2 root root     4096 2015-06-30 10:14 음악

drwxr-xr-x. 2 root root     4096 2015-06-30 10:14 템플릿




  JDK 디렉토리 위치 변경 및 심볼릭 링크


이제 JDK디렉토리를 자신이 관리하기 편한 곳으로 이동 시켜줍니다. 이동하지 않고 그냥 쓰셔도 무방합니다.

* 그전에 다운로드 받은 JDK bin 파일을 삭제 하려면 

   rm -f 파일명 명령어로 삭제 해 줍시다.( -f 는 강제 삭제 옵션으로 조심해서 사용 합니다 )

JDK 디렉토리를 /usr/local 위치로 옮겨주고 옮긴 위치로 이동 하겠습니다.

[root@localhost ~] # rm -f jdk-6u45-linux-x64.bin?AuthParam (....생략)

- JDK bin 파일 삭제

[root@localhost ~] # mv jdk1.6.0_45 /usr/local

- JDK 디렉토리 이동

[root@localhost ~] # cd /usr/local 

- 자신의 위치를 JDK 디렉토리가 있는 곳으로 이동




pwd 는 자신의 현재 위치의 경로를 보여주는 명령어입니다. cd 로 JDK디렉토리를 옮긴 곳 으로 이동 하였습니다.

[root@localhost local] # pwd

/usr/local




이제 심볼릭 링크(Symbolic link)를 걸어 줍니다. 심볼릭 링크란 쉽게 얘기하면 윈도우에서의 바로가기 같은 역할을 합니다.

심볼릭 링크를 거는 이유는 여러가지가 있을 수 있지만 여기서는 JDK 버전을 업데이트 시 환경 설정의 변화 없이 심볼릭링크로

새로 생성된 디렉토리의 내용만 수정해 주면 되기 떄문 입니다.

[root@localhost local] # ln -s jdk1.6.0_45 java

[root@localhost local] # ls -l 

합계 44

drwxr-xr-x. 2 root root 4096 2011-09-23 20:50 bin

drwxr-xr-x. 2 root root 4096 2011-09-23 20:50 etc

drwxr-xr-x. 2 root root 4096 2011-09-23 20:50 games

drwxr-xr-x. 2 root root 4096 2011-09-23 20:50 include

lrwxrwxrwx. 1 root root   11 2015-07-01 10:35 java -> jdk1.6.0_45

drwxr-xr-x. 8 root root 4096 2013-03-27 08:53 jdk1.6.0_45

drwxr-xr-x. 2 root root 4096 2011-09-23 20:50 lib

drwxr-xr-x. 2 root root 4096 2011-09-23 20:50 lib64

drwxr-xr-x. 2 root root 4096 2011-09-23 20:50 libexec

drwxr-xr-x. 2 root root 4096 2011-09-23 20:50 sbin

drwxr-xr-x. 5 root root 4096 2015-06-29 16:50 share

drwxr-xr-x. 2 root root 4096 2011-09-23 20:50 src




  환경변수 설정


기본적인 설치는 모두 완료 되었습니다. 이제 환경변수 설정을 해줘야 합니다.

편집기로 profile 파일을 열어 줍니다.

[root@localhost local] # vim /etc/profile




위치는 상관 없으니 다른 위치에 넣으셔도 되고 아래 빨간색으로 체크된 부분만 새로 작성해 주시면 됩니다.

:wq 저장 후 종료 합니다. 

# /etc/profile


# System wide environment and startup programs, for login setup

# Functions and aliases go in /etc/bashrc


# It's NOT a good idea to change this file unless you know what you

# are doing. It's much better to create a custom.sh shell script in

# /etc/profile.d/ to make custom changes to your environment, as this

# will prevent the need for merging in future updates.


JAVA_HOME=/usr/local/java

CLASSPATH=.:$JAVA_HOME/lib/tools.jar

PATH=$PATH:$JAVA_HOME/bin

export JAVA_HOME CLASSPATH PATH


pathmunge () {

    case ":${PATH}:" in

        *:"$1":*)

            ;;

        *)

            if [ "$2" = "after" ] ; then

                PATH=$PATH:$1

            else

                PATH=$1:$PATH

            fi

    esac

}

(....생략)




설정한 환경변수를 적용.

[root@localhost local] # source /etc/profile




이제 자바가 제대로 설치 되어 있는지 확인 합니다. 아래와 같이 나오면 제대로 설치가 완료 된 것입니다.

[root@localhost local] # java -version

java version "1.6.0_45"

Java(TM) SE Runtime Environment (build 1.6.0_45-b06)

Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)

[root@localhost local] # javac -version

javac 1.6.0_45




  JAVA 간단한 출력예제


JDK 설치가 끝났으니 Java 파일을 만들어 테스트 해보겠습니다. 

* vim 파일명 입력시 없는 파일일 땐 새로운파일이 생성 됩니다.

[root@localhost local] # vim helloworld.java



간단한 출력을 위한 자바 코드를 작성 합니다. :wq 저장 후 종료

public class helloworld{

     public static void main(String[] args){

            System.out.println("Hello World !!!!!!");

     }

}











"helloworld.java"   [New File]




생성된 파일을 컴파일 해줍니다.

[root@localhost local] # javac helloworld.java

[root@localhost local] # ls -l

drwxr-xr-x. 2 root root 4096 2011-09-23 20:50 bin

drwxr-xr-x. 2 root root 4096 2011-09-23 20:50 etc

drwxr-xr-x. 2 root root 4096 2011-09-23 20:50 games

-rw-r--r--. 1 root root  425 2015-07-01 10:53 helloworld.class

-rw-r--r--. 1 root root  107 2015-07-01 10:52 helloworld.java

drwxr-xr-x. 2 root root 4096 2011-09-23 20:50 include

lrwxrwxrwx. 1 root root   11 2015-07-01 10:35 java -> jdk1.6.0_45

drwxr-xr-x. 8 root root 4096 2013-03-27 08:53 jdk1.6.0_45

drwxr-xr-x. 2 root root 4096 2011-09-23 20:50 lib

drwxr-xr-x. 2 root root 4096 2011-09-23 20:50 lib64

drwxr-xr-x. 2 root root 4096 2011-09-23 20:50 libexec

drwxr-xr-x. 2 root root 4096 2011-09-23 20:50 sbin

drwxr-xr-x. 5 root root 4096 2015-06-29 16:50 share

drwxr-xr-x. 2 root root 4096 2011-09-23 20:50 src




실행, 정상적으로 출력되는 것을 확인 할 수 있습니다.

[root@localhost local] # java helloworld

Hello World !!!!!!