Ubuntu에서 apt-get으로 openjdk 설치하기

목차

  1. apt-get으로 openjdk 설치
  2. java, javac 명령의 위치
  3. update-alternatives

apt-get으로 openjdk 설치

터미널에 java나 javac를 쳐보면 command not found 그런 명령 없다고 나온다면 자바가 없는 것이다.

JDK에 JRE도 들어있기 때문에 JDK만 설치하면 끝난다.

sudo apt-get install openjdk-8-jdk

‘다음 새 패키지를 설치할 것입니다’ 부분을 보면 jdk와 jre를 설치한다는 것을 알 수 있다.

y를 눌러 설치한다.

이제 java나 javac를 쳐보면 사용법이 나온다.

뒤에 -version을 붙이면 버전 정보를 볼 수 있다.

java -version
javac -version

간단한 한 줄 출력 자바 프로그램을 만들어보자.

//hello.java

public class hello {
	public static void main(String[] args){
		System.out.println("Java Project!");
	}
}

컴파일하고 실행해보자.

javac hello.java //컴파일
java hello       //실행

결과 : Java Project!

잘 작동한다.

java, javac 명령의 위치

여담으로 명령어의 위치를 찾아보면

which javac
결과 : /usr/bin/javac
which java 
결과 : /usr/bin/java

파일 정보를 보면 심볼릭 링크다.

ls -l /usr/bin/java*
lrwxrwxrwx 1 root root 22  1월 20 10:34 /usr/bin/java -> /etc/alternatives/java
lrwxrwxrwx 1 root root 23  1월 20 10:51 /usr/bin/javac -> /etc/alternatives/javac
lrwxrwxrwx 1 root root 25  1월 20 10:51 /usr/bin/javadoc -> /etc/alternatives/javadoc
lrwxrwxrwx 1 root root 23  1월 20 10:51 /usr/bin/javah -> /etc/alternatives/javah
lrwxrwxrwx 1 root root 23  1월 20 10:51 /usr/bin/javap -> /etc/alternatives/javap

따라가 보면 또 심볼릭 링크다.

ls -l /etc/alternatives/java*
lrwxrwxrwx 1 root root 46  1월 20 10:51 /etc/alternatives/java -> /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
lrwxrwxrwx 1 root root 56  1월 20 10:51 /etc/alternatives/java.1.gz -> /usr/lib/jvm/java-8-openjdk-amd64/jre/man/man1/java.1.gz
lrwxrwxrwx 1 root root 43  1월 20 10:51 /etc/alternatives/javac -> /usr/lib/jvm/java-8-openjdk-amd64/bin/javac
lrwxrwxrwx 1 root root 53  1월 20 10:51 /etc/alternatives/javac.1.gz -> /usr/lib/jvm/java-8-openjdk-amd64/man/man1/javac.1.gz
lrwxrwxrwx 1 root root 45  1월 20 10:51 /etc/alternatives/javadoc -> /usr/lib/jvm/java-8-openjdk-amd64/bin/javadoc
lrwxrwxrwx 1 root root 55  1월 20 10:51 /etc/alternatives/javadoc.1.gz -> /usr/lib/jvm/java-8-openjdk-amd64/man/man1/javadoc.1.gz
lrwxrwxrwx 1 root root 43  1월 20 10:51 /etc/alternatives/javah -> /usr/lib/jvm/java-8-openjdk-amd64/bin/javah
lrwxrwxrwx 1 root root 53  1월 20 10:51 /etc/alternatives/javah.1.gz -> /usr/lib/jvm/java-8-openjdk-amd64/man/man1/javah.1.gz
lrwxrwxrwx 1 root root 43  1월 20 10:51 /etc/alternatives/javap -> /usr/lib/jvm/java-8-openjdk-amd64/bin/javap
lrwxrwxrwx 1 root root 53  1월 20 10:51 /etc/alternatives/javap.1.gz -> /usr/lib/jvm/java-8-openjdk-amd64/man/man1/javap.1.gz

한 번 더 따라가 보면

ls -l /usr/lib/jvm/java-8-openjdk-amd64 
합계 20
lrwxrwxrwx 1 root root   22 10월 28 07:51 ASSEMBLY_EXCEPTION -> jre/ASSEMBLY_EXCEPTION
lrwxrwxrwx 1 root root   22 10월 28 07:51 THIRD_PARTY_README -> jre/THIRD_PARTY_README
drwxr-xr-x 2 root root 4096  1월 20 10:51 bin
lrwxrwxrwx 1 root root   41 10월 28 07:51 docs -> ../../../share/doc/openjdk-8-jre-headless
drwxr-xr-x 3 root root 4096  1월 20 10:51 include
drwxr-xr-x 5 root root 4096  1월 20 10:51 jre
drwxr-xr-x 3 root root 4096  1월 20 10:51 lib
drwxr-xr-x 4 root root 4096  1월 20 10:51 man
lrwxrwxrwx 1 root root   20 10월 28 07:51 src.zip -> ../openjdk-8/src.zip

여기에 파일이 있다.

추가로 /usr/lib/jvm은 이렇다.

ls -l /usr/lib/jvm 
합계 4
lrwxrwxrwx 1 root root   20 10월 28 07:51 java-1.8.0-openjdk-amd64 -> java-8-openjdk-amd64
drwxr-xr-x 7 root root 4096  1월 20 10:51 java-8-openjdk-amd64

update-alternatives

update-alternatives도 알아보자.

man update-alternatives

man 페이지에서 설명을 보면 기본 명령을 결정하는 심볼릭 링크를 관리하는 명령이라고 한다.

NAME
       update-alternatives - maintain symbolic links determining default commands

SYNOPSIS
       update-alternatives [option...] command

DESCRIPTION
       update-alternatives  creates,  removes, maintains and displays information about the symbolic links comprising the Debian alternatives system.

......

COMMANDS
       --config name
              Show available alternatives for a link group and allow the user to interactively select which one to use. The link group is updated.

–config를 붙이면 사용할 수 있는 링크 그룹을 대화식으로 보여주고 선택할 수 있다고 한다.

지금은 설치한 자바가 한 버전밖에 없어서 이렇게 보이지만

update-alternatives --config java 
There is only one alternative in link group java (providing /usr/bin/java): /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
설정할 것이 없습니다.

update-alternatives --config javac
There is only one alternative in link group javac (providing /usr/bin/javac): /usr/lib/jvm/java-8-openjdk-amd64/bin/javac
설정할 것이 없습니다.

두 개 이상이라면 버전을 선택할 수 있다는 것이다.

SW Level Up

mail@swlevelup.com

You may also like...

2 Responses

  1. 익명 말해보세요:

    잘 보고 갑니다

  2. 이응이응 말해보세요:

    배우고 갑니다 ~_~

답글 남기기

이메일 주소를 발행하지 않을 것입니다.