рекомендации

суббота, 25 января 2020 г.

Установка любой версии Oracle Java (JDK) в Ubuntu, Debian, Linux Mint или Fedora с помощью install-java.sh


«install-java.sh» - это скрипт Bash для установки и настройки любой версии Oracle Java Development Kit (JDK) в дистрибутивах Linux на основе Debian и Ubuntu.

Разработчик скрипта говорит, что он в основном использует Ubuntu, и поэтому сценарий был протестирован только на Ubuntu, однако я использовал скрипт для установки и настройки Oracle Java в Fedora, и он работал без каких-либо проблем. Он может работать и в других дистрибутивах Linux.


Скрипт install-java.sh достаточно универсален, позволяя пользователям устанавливать любую основную/вспомогательную версию Oracle JDK. Вы можете использовать его для:

- установки последней версии Oracle Java 11 LTS;
- установки любой версии Oracle Java 8;
- установки Oracle Java 7, 10 и других версий JDK, которые теперь доступны только для клиентов Oracle через My Oracle Support (требуется вход в службу поддержки);
- установки сборки Oracle Java для архитектуры, отличной от той, на которой работает скрипт.

Благодаря этому install-java.sh является отличной альтернативой Oracle Java 8 PPA, поддерживаемому Web Upd8, или Oracle Java 11 PPA, который я поддерживаю, позволяя пользователям устанавливать не только последнюю версию Oracle Java, но и любую версию, которую они захотят использовать. И это работает в Fedora и, возможно, в других дистрибутивах Linux, а не только в Ubuntu/Debian.

Скрипт не поддерживает установку снапшотов JDK 12 (насколько я знаю, пока нет доступных снапшотов Oracle Java 12).

Возможности скрипта install-java.sh включают:

- вы можете автоматизировать установочный скрипт Java;
- указать каталог установки (по умолчанию /usr/lib/jvm);
- можно установить демонстрационные файлы Oracle JDK и файлы политики JCE, которые доступны в Oracle Java до версии 8 (для их установки загрузите соответствующие архивы и поместите их в ту же папку, что и Oracle Java .tar.gz, затем запустите команду установки как обычно, и она подхватит их, спросив, хотите ли вы их установить);
- можно установить пункт меню (ярлык) для Oracle Java Mission Control (JMC);
- поставляется со скриптом uninstall-java.sh для удаления любой версии Java, установленной с помощью install-java.sh.

Использование install-java.sh для установки Oracle Java в Debian, Ubuntu, Linux Mint и Fedora

1. Скачайте install-java.sh и сделайте его исполняемым.

Как правило, я рекомендую проверить код, используемый в этом скрипте и любых других скриптах, которые вы запускаете в своей системе, и запускать их, только если у вас есть хотя бы некоторое базовое понимание того, что они делают.

Вы можете скачать install-java.sh в ваш домашний каталог и сделать его исполняемым, используя следующие команды:

cd && wget https://raw.githubusercontent.com/chrishantha/install-java/master/install-java.sh

chmod +x install-java.sh

2. Установите unzip (требуется скриптом install-java.sh).

unzip можно установить следующим образом:

    Debian, Ubuntu, Linux Mint:

sudo apt install unzip

    Fedora:

sudo dnf install unzip

2. Используйте install-java.sh для установки Oracle Java (JDK 7, 8 или 11).

Чтобы установить Oracle Java, вам нужно скачать архив .tar.gz с oracle.com. Затем вы можете установить Oracle Java 11, 8 или 7 с помощью этой команды:

sudo -E ./install-java.sh -f 
-p

-f задает архив Oracle .tar.gz и путь к нему, а -p позволяет задать каталог установки Oracle Java (в этом каталоге создается новая подпапка Java), по умолчанию используется путь установки /usr/lib/jvm. Я использовал sudo -E (сохранить пользовательскую среду при запуске команды), потому что без нее переменная среды JAVA_HOME не была бы установлена в Fedora.

Пример. Я скачал Oracle JDK 8u202, и файл .tar.gz сохраняется в папке «Downloads». Эта команда устанавливает загруженный Oracle JDK 8u202 в /usr/lib/jvm:

sudo -E ./install-java.sh -f ~/Downloads/jdk-8u202-linux-x64.tar.gz -p /usr/lib/jvm

Это команда с выводом, поэтому вы можете увидеть, что происходит при установке Oracle Java с помощью скрипта install-java.sh:

$ sudo -E ./install-java.sh -f ~/Downloads/jdk-8u202-linux-x64.tar.gz -p /usr/lib/jvm

Extracting /home/logix/Downloads/jdk-8u202-linux-x64.tar.gz to /usr/lib/jvm
JDK is extracted to /usr/lib/jvm/jdk1.8.0_202
Run update-alternatives commands? [y/N] y
Running update-alternatives --install and --config for jar java javac javadoc javah javap javaws jcmd jconsole jarsigner jhat jinfo jmap jmc jps jstack jstat jstatd jvisualvm keytool policytool wsgen wsimport mozilla-javaplugin.so
Do you want to set JAVA_HOME environment variable? [y/N] y
Do you want to create a desktop shortcut to JMC? [y/N] y

Как видите, скрипт спрашивает, должен ли он запускать команды update-alternatives для двоичных файлов Oracle Java (и установить эту версию Oracle Java в качестве системной Java Java по умолчанию), установить переменную среды JAVA_HOME в файле ~ /.bashrc и должен ли он создать ярлык на рабочем столе для Oracle Java Mission Control (JMC).

Автоматизация процесса установки Oracle Java с помощью install-java.sh

Вы можете автоматизировать установку Oracle Java (полезно, если вы хотите запустить установку из скрипта) при использовании install-java.sh с помощью команды yes, например, такой (которая отвечает yes на все вопросы скрипта install-java.sh):

yes | sudo -E ./install-java.sh -f 
-p

Установка демо Oracle Java и политики JCE с помощью install-java.sh (только для JDK 7 или 8)

Вплоть до версии 8 в Oracle Java были доступны для скачивания демонстрационные файлы и файлы политик Java Cryptography Extension (JCE). Если вам необходимо установить их, архивы могут быть распакованы и установлены с помощью install-java.sh при установке Oracle Java.

Загрузите Oracle Java, архив демо (той же версии, что и Oracle Java) и файлы политики JCE и поместите их все в одну папку.

Пример для Oracle Java 8u202:


Загрузите архивы .tar.gz для Oracle Java 8u202 и демо, а также zip-файл политики JCE, поместите их в папку с именем «java» у себя в домашней директории, затем установите Oracle Java, как это обычно делается с помощью install-java.sh, и демки и политика JCE будут установлены вместе с Oracle Java. Пример команды установки в этом случае:

sudo -E ./install-java.sh -f ~/java/jdk-8u202-linux-x64.tar.gz -p /usr/lib/jvm

Скрипт спросит вас, хотите ли вы установить демонстрационные файлы и файлы политики JCE, прежде чем приступить к установке Oracle Java:

$ sudo -E ./install-java.sh -f ~/java/jdk-8u202-linux-x64.tar.gz -p /usr/lib/jvm

Extracting /home/logix/java/jdk-8u202-linux-x64.tar.gz to /usr/lib/jvm
JDK is extracted to /usr/lib/jvm/jdk1.8.0_202
Extract demos? [y/N] y
Extracting /home/logix/java/jdk-8u202-linux-x64-demos.tar.gz to /usr/lib/jvm
Install Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files? [y/N] y
Extracting policy jars in /home/logix/java/jce_policy-8.zip to /usr/lib/jvm/jdk1.8.0_202/jre/lib/security
Archive:  /home/logix/java/jce_policy-8.zip
  inflating: /usr/lib/jvm/jdk1.8.0_202/jre/lib/security/local_policy.jar  
  inflating: /usr/lib/jvm/jdk1.8.0_202/jre/lib/security/US_export_policy.jar  
Run update-alternatives commands? [y/N] y
Running update-alternatives --install and --config for jar java javac javadoc javah javap javaws jcmd jconsole jarsigner jhat jinfo jmap jmc jps jstack jstat jstatd jvisualvm keytool policytool wsgen wsimport mozilla-javaplugin.so
Do you want to set JAVA_HOME environment variable? [y/N] y
Do you want to create a desktop shortcut to JMC? [y/N] y
Удаление Oracle Java, установленной с помощью install-java.sh

Для удаления Oracle Java есть еще один скрипт, называемый uninstall-java.sh. Вы можете скачать скрипт в свой домашний каталог, сделать его исполняемым и удалить Oracle Java следующим образом:

cd && wget https://raw.githubusercontent.com/chrishantha/install-java/master/uninstall-java.sh

chmod +x uninstall-java.sh

sudo -E ./uninstall-java.sh -p 

java_dist_dir - это папка, в которую была установлена Oracle Java. Например, /usr/lib/jvm/jdk1.8.0_202 для Oracle Java 8u202. Скрипт uninstall-java.sh обновляет альтернативы Java, удаляет установленный каталог Java и удаляет ярлык JMC.

Пример:

$ sudo -E ./uninstall-java.sh -p /usr/lib/jvm/jdk1.8.0_202

Run update-alternatives commands? [y/N] y
Running update-alternatives --remove for jar java javac javadoc javah javap javaws jcmd jconsole jarsigner jhat jinfo jmap jmc jps jstack jstat jstatd jvisualvm keytool policytool wsgen wsimport mozilla-javaplugin.so
Remove directory '/usr/lib/jvm/jdk1.8.0_202'? [y/N] y
Remove JMC shortcut? [y/N] y

Комментариев нет:

Отправить комментарий