본문으로 바로가기

manjaro(만자로) oracle jdk 설치

category Linux 2018. 2. 3. 13:59

그간 mint mate를 설치하고 컴피즈의 기능에 매료되어 컴피즈를 활성화하여 화려한 환경을 사용하고 있었죠


헌데 몇일전 업데이트를 하고난 이후 갑자기 화면이 정상적으로 생성되지 않고 패널이 정상적인 동작을 하지 않게 되었습니다.

원인을 모르고 있던 터라 manjaro 사용을 검토하게 되었습니다.

나중에 알게된 것은 컴피즈와 새로이 배포된 업데이트와의 충돌이었습니다.

하지만 정확히 어떻게 충돌하는지를 몰라 결국 컴피즈를 비활성하고 사용하는 것으로 결정했습니다.

만자로도 컴피즈 설치가 가능하지만 역시 만자로에서도 마테에서와 비슷한 여러 불편한 점을 초래합니다. - 버그가 수정되었으면 좋겠네요



설치환경

만자로  xfce 17.1.3 stable 버전을 설치하고 한글은 nimf를 설치했습니다.

Arch Linux 기반의 만자로를 사용하니 패키지 관리자도 pacman을 사용하게 되어 영 어색하긴 했지만 최신 버전의 패키지들이 빠르게 제공되는 점은 무척 맘에 듭니다.


자바설치가 필요하게 되어 현재 설치되어 있는 자바 버전을 확인해 보니 만자로 17.1.12 stable 버전은 openjdk version "1.8.0_144"가 기본 설치되어 있습니다.

[bonohemi@mjr02 default-runtime]$ java -version
openjdk version "1.8.0_144"
OpenJDK Runtime Environment (build 1.8.0_144-b01)
OpenJDK 64-Bit Server VM (build 25.144-b01, mixed mode)


과거 openjdk의 아픈기억이 있어 oracle jdk를 사용하려고 합니다.

보통 openjdk를 삭제하고 원하는 버전의 jdk를 설치하려고 하지만 기본 설치되어 있는 opensdk를 삭제할 필요가 없습니다.

우분투에서 update-alternatives 명령을 사용해서 여러 버전의 jdk를 설치하고 원하는 버전을 선택해서 사용할 수 있는것 같이 manjaro도 여러버전의 jdk를 설치하고 원하는 jdk를 선택할 수 있는 방법이 있습니다.


이제 oracle jdk를 설치하고 설치된 jdk를 사용하는 방법을 알아보겠습니다.


설치요약 - 방법만 진행하고 싶으신 분들을 위해...


1. jdk 설치

$ yaourt jdk

   26번 선택->설치를 원하는 jdk번호 선택


2. 설치완료 후

$ sudo archlinux-java set java-9-jdk -> 설치가 완료된 jdk 버전 선택

$ java -version



상세설명 - 원리를 알고 싶은 분들을 위해...


yaourt jdk

을 입력하면 아래 그림처럼 꽤 많은 JDK버전들이 출력됩니다.


저는 26번 jdk 9.0.4-1을 선택했습니다.


설치 완료 후 출련된 메세지를 유심히 보아야 합니다.

위의 빨간 박스 부분을 보면 현재 자바환경이 java-8-openjdk이며 java-9-jdk를 사용하려면 archlinux-java set java-9-jdk 명령을 입력하고

상태를 보려면 archlinux-java status 명령을 사용하라고 적혀 있습니다.


확인해 보니 java-9-jdk 설치가 완료되었음에도 java -version을 입력해보면 여전히 openjdk가 사용되고 있습니다.


이제 archlinux-java명령으로 지금 설치한 java-9-jdk가 기본 자바환경이 되도록 차례대로 명령을 실행시켜 보겠습니다.

[bonohemi@mjr01 ~]$ java -version
openjdk version "1.8.0_144"
OpenJDK Runtime Environment (build 1.8.0_144-b01)
OpenJDK 64-Bit Server VM (build 25.144-b01, mixed mode)
[bonohemi@mjr01 ~]$ sudo archlinux-java status
Available Java environments:
  java-8-openjdk (default)
  java-9-jdk
[bonohemi@mjr01 ~]$ sudo archlinux-java set java-9-jdk
[bonohemi@mjr01 ~]$ java -version

java version "9.0.4"
Java(TM) SE Runtime Environment (build 9.0.4+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.4+11, mixed mode)
[bonohemi@mjr01 ~]$ sudo archlinux-java status
Available Java environments:
  java-8-openjdk
  java-9-jdk (default)



이제 제가 원하는 대로 oracle jdk 9 버전이 제대로 설치되고 동작합니다.

앞으로 어떤 버전의 자바라도 설치하고 맘대로 설정할 수 있게 되었습니다.


manjaro 는 우분투에서 사용되는 update-alternatives 는 제공하지 않지만 archlinux-java라는 명령을 이용하여 사용하고 싶은 버전의 자바를 설정할 수 있도독 제공하고 있네요 ^^
링크 경로를 확인해보니 /usr/lib/jvm/default...아래의 심볼릭 링크를 링크하고 있습니다. 그곳의 심볼릭 링크는 설치된 자바버전들을 링크하고 있구요
딱봐도 archlinux-java 명령은  /usr/lib/jvm/default.. 아래에 존재하는 심볼릭 링크 경로를 바꿔주는 역할을 하네요


다만 우분투의 update-alternatives 명령어는 자바뿐만 아니라 다른 언어도 가능한데 비해 명령 자체가 자바만을 지원하는 것은 조금 아쉽다 할 수 있겠네요