Разбор, как установить Java on Ubuntu 18.04

Posted by

Когда Ubuntu 18.04 установлена в системе для различных приложений требуется чтобы был установлен пакет Java, но вот как это сделать правильно и при этом не захламить систему и не испортить чего. Добиться правильности и рабочих действий поможет моя написанная заметка, а как известно пишу я в первую очередь для самого себя и делаю это качественно, ведь мне пользоваться своими опубликованными наработками. Первым делом если система имеет редакцию Ubuntu 18.04 Server, то начинаю с заметки по удалению Cloud Init, а затем действия ниже. Я придерживаюсь правила когда решение задачи вытекает из предварительно сделанных действий и они как правило у меня все взаимосвязаны. Так что если кому-либо не помогло, увы ничем не могу помочь, учитесь сами.

ekzorchik@srv-bionic:~$ sudo rm -Rf /var/lib/apt/lists

ekzorchik@srv-bionic:~$ sudo apt-get update && sudo apt-get upgrade -y

ekzorchik@srv-bionic:~$ uname -a

Linux srv-bionic 4.15.0-20-generic #21-Ubuntu SMP Tue Apr 24 06:16:15 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Устанавливаю в систему JDK/JRE из дефолтных репозитариев:

ekzorchik@srv-bionic:~$ sudo apt -y install default-jre

ekzorchik@srv-bionic:~$ sudo apt -y install default-jdk

ekzorchik@srv-bionic:~$ java --version

openjdk 10.0.1 2018-04-17

OpenJDK Runtime Environment (build 10.0.1+10-Ubuntu-3ubuntu1)

OpenJDK 64-Bit Server VM (build 10.0.1+10-Ubuntu-3ubuntu1, mixed mode)

Либо же устанавливать в систему пакет Java можно подключая соответствующий репозитарий (PPA), как я ранее это делал начиная в Precise,Trusty,Xenial:

ekzorchik@srv-bionic:~$ sudo add-apt-repository ppa:webupd8team/java

Press [ENTER] to continue or Ctrl-c to cancel adding it.

ekzorchik@srv-bionic:~$ sudo apt-get update && sudo apt -y install oracle-java8-installer

Do you accept the Oracle Binary Code license terms? Yes

ekzorchik@srv-bionic:~$ java -version

java version "1.8.0_171"

Java(TM) SE Runtime Environment (build 1.8.0_171-b11)

Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)

Если в системе установлены различные версии пакета Java, то выбрать ту которая будет по дефолту можно так:

ekzorchik@srv-bionic:~$ sudo update-alternatives --config java

There are 2 choices for the alternative java (providing /usr/bin/java).

Selection Path Priority Status

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

0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1101 auto mode

1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1101 manual mode

* 2 /usr/lib/jvm/java-8-oracle/jre/bin/java 1081 manual mode

Press <enter> to keep the current choice[*], or type selection number: 0

update-alternatives: using /usr/lib/jvm/java-11-openjdk-amd64/bin/java to provide /usr/bin/java (java) in auto mode

ekzorchik@srv-bionic:~$ java -version

openjdk version "10.0.1" 2018-04-17

OpenJDK Runtime Environment (build 10.0.1+10-Ubuntu-3ubuntu1)

OpenJDK 64-Bit Server VM (build 10.0.1+10-Ubuntu-3ubuntu1, mixed mode)

Настройка переменной окружения:

ekzorchik@srv-bionic:~$ sudo nano /etc/environment

JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64/bin/java"

ekzorchik@srv-bionic:~$ source /etc/environment

ekzorchik@srv-bionic:~$ echo $JAVA_HOME

/usr/lib/jvm/java-11-openjdk-amd64/bin/java

Чтобы удалить отличный от выбранного по дефолту пакет java:

ekzorchik@srv-bionic:~$ dpkg --list | grep -i jdk

ekzorchik@srv-bionic:~$ sudo apt -y purge oracle-java8-installer

ekzorchik@srv-bionic:~$ sudo add-apt-repository -r ppa:webupd8team/java

Press [ENTER] to continue or Ctrl-c to cancel removing it.

ekzorchik@srv-bionic:~$ sudo update-alternatives --display java

java - auto mode

link best version is /usr/lib/jvm/java-11-openjdk-amd64/bin/java

link currently points to /usr/lib/jvm/java-11-openjdk-amd64/bin/java

link java is /usr/bin/java

slave java.1.gz is /usr/share/man/man1/java.1.gz

/usr/lib/jvm/java-11-openjdk-amd64/bin/java - priority 1101

slave java.1.gz: /usr/lib/jvm/java-11-openjdk-amd64/man/man1/java.1.gz

Разобрал, для себя, в будущем пригодиться данная наработка. И как показала дальнейшая практика не раз, все было сделано не напрасно. На этом я прощаюсь, с уважением автор блога Олло Александр aka ekzorchik.