개발 블로그

[교육] 오라클 jdk 1.8 설치하기 본문

리눅스 | 서버

[교육] 오라클 jdk 1.8 설치하기

토도 2024. 5. 24. 18:04

java -version

which java

 

CentOS를 설치하면 자동으로 OpenJDK가 설치되어 있다

 

which java 명령어로 확인해보기

설치된 /usr/bin/ 폴더를 이동해서 확인해보면

 

 

alternatives를 보니 rpm 파일이 설치 된 것 같다

 

새로 설치 해야하니 명령어를 입력해 기존 java의 이름을 변경하자

 

mv /usr/bin/java /usr/bin/java_old 

 

기존에 설치된 Java는 실행이 되지 않으니 이제 다른 버전을 설치하자

 

아래 링크에 들어가 파일을 다운하고 

https://www.oracle.com/java/technologies/downloads/#java8

 

Download the Latest Java LTS Free

Subscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts.

www.oracle.com

 

 

 

왠지는 모르겠지만 VMware로 이 주소에 접속하면 다운로드를 받을 수 없어서

호스트 컴퓨터에서 다운로드 하고 메일로 보내서 

게스트 컴퓨터에서 메일을 열어 다운 받았다. 

 

복잡..

 

 


 

 

다운로드 디렉토리로 이동해서 tar를 이용해 압축된 파일을 풀어준다

근데 여기서 cd /root/다운로드는 다운로드로 이동이 되지만

그냥 /다운로드 하면 이동이 안됨 

 

지금 보시는 파일 목록에서 다운로드 디렉토리가 있는 위치는 루트(/) 디렉토리가 아니라 현재 사용자의 홈 디렉토리(/root)입니다. 리눅스 시스템에서는 /root 디렉토리는 루트 사용자의 홈 디렉토리이고, /home 디렉토리는 일반 사용자의 홈 디렉토리들이 위치하는 디렉토리입니다.

현재, 루트 사용자의 홈 디렉토리(/root)에 있는 다운로드 디렉토리로 이동하려면 다음과 같이 해야 합니다:

 

절대 경로 사용

cd /root/다운로드

 

상대 경로 사용

현재 디렉토리가 '/root' 일 때 :

cd 다운로드

 

또는 :

cd ./다운로드

 

또 찾아 보면서 루트 디렉토리 / 와 루트 사용자의 홈 디렉토리 /root 가 다르다는 것도 알게되었다..

 

  1. / (루트 디렉토리):
    • 리눅스 파일 시스템의 최상위 디렉토리입니다.
    • 모든 파일과 디렉토리는 이 루트 디렉토리를 기준으로 하위에 위치합니다.
    • 예: /etc, /bin, /usr, /home 등
  2. /root (루트 사용자의 홈 디렉토리):
    • 시스템 관리자(루트 사용자)의 홈 디렉토리입니다.
    • 루트 사용자가 로그인하면 기본적으로 이 디렉토리로 이동합니다.
    • 일반 사용자들의 홈 디렉토리와 구분하기 위해 /home 디렉토리와는 별도로 존재합니다.

[root@localhost /]# cd root
[root@localhost ~]# ls
anaconda-ks.cfg       공개      문서      비디오  서식
initial-setup-ks.cfg  다운로드  바탕화면  사진    음악

근데 이상태에서 

cd /다운로드 는 안되고 
cd 다운로드는 되는 이유가 뭐야


ChatGPT
좋은 질문입니다. 이는 리눅스의 파일 시스템 구조와 경로 지정 방식에 대한 기본 개념을 이해하는 데 도움이 됩니다.

절대 경로와 상대 경로

 

절대 경로 (Absolute Path):
절대 경로는 파일 시스템의 루트 디렉토리(/)부터 시작하는 전체 경로를 지정합니다.
예: /root/다운로드, /home/user/문서
상대 경로 (Relative Path):
상대 경로는 현재 작업 디렉토리를 기준으로 경로를 지정합니다.
예: 현재 디렉토리가 /root일 때 다운로드는 /root/다운로드를 의미합니다.

 

예를 들어 설명
현재 디렉토리: /root (~는 현재 사용자의 홈 디렉토리를 의미하며, 루트 사용자의 경우 /root와 동일)
절대 경로: /root/다운로드는 루트 디렉토리(/)에서 시작하여 root 디렉토리 아래의 다운로드 디렉토리로 이동합니다.
상대 경로: 다운로드는 현재 디렉토리(/root) 아래의 다운로드 디렉토리를 의미합니다.


현재 디렉토리가 /root일 때:
[root@localhost ~]# ls
anaconda-ks.cfg       공개      문서      비디오  서식
initial-setup-ks.cfg  다운로드  바탕화면  사진    음악

절대 경로:
[root@localhost ~]# cd /다운로드
이 명령어는 /다운로드 디렉토리로 이동하려는 시도로, / 루트 디렉토리 바로 아래에 다운로드 디렉토리가 있어야 합니다. 그러나 / 아래에는 다운로드 디렉토리가 없기 때문에 "No such file or directory" 오류가 발생합니다.

상대 경로:
[root@localhost ~]# cd 다운로드
이 명령어는 현재 디렉토리(/root) 아래에 있는 다운로드 디렉토리로 이동하려는 시도로, 다운로드 디렉토리가 존재하기 때문에 이동이 성공합니다.

요약
- cd /다운로드: 절대 경로로, 루트 디렉토리(/) 아래에 다운로드 디렉토리가 있어야 합니다. / 아래에는 일반적으로 다운로드 디렉토리가 없기 때문에 이동할 수 없습니다.
- cd 다운로드 또는 cd ./다운로드: 상대 경로로, 현재 디렉토리(/root) 아래에 다운로드 디렉토리가 있어 이동할 수 있습니다.


따라서, 현재 디렉토리에서 존재하는 디렉토리로 이동하려면 상대 경로를 사용해야 합니다. cd 다운로드 명령어가 정상적으로 작동하는 이유는 바로 이 때문입니다.

 


 

그리고 이제 풀어준 자바 파일을 /usr/local로 이동해준다

/etc/profile 파일을 수정해주고

source 명령어로 적용되도록 해준다

 

JAVA_HOME=/usr/local/jdk1.8.0_411
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME
export JRE_HOME

 

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

이렇게 설정했는데.. 자바가 계속 원래 설치된 open jdk를 가르키는 것이다 !!!!

여쭤보니 $JAVA_HOME/bin의 위치와 $PATH 를 바꿔주면 될거라고 해서 바꿔보니 됨!! 

 

JAVA_HOME=/usr/local/jdk1.8.0_411
JRE_HOME=$JAVA_HOME/jre
PATH=$JAVA_HOME/bin:$PATH:$JRE_HOME/bin
export JAVA_HOME
export JRE_HOME

 

그럼 이 문장들을 unset 과 done 사이에 넣어줌

 

 

그럼 java -version과 

which java 명령어로 내가 원한 위치에 자바가 설치된 모오습을 확인할 수 있다

 

참고

https://copycoding.tistory.com/290