Ubuntu에서 apt-get으로 openjdk 설치하기
목차
- apt-get으로 openjdk 설치
- java, javac 명령의 위치
- 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 설정할 것이 없습니다.
두 개 이상이라면 버전을 선택할 수 있다는 것이다.
잘 보고 갑니다
배우고 갑니다 ~_~