Будем устанавливать Java на наш линукс. Зачем? Ответ у каждого свой. Лично мне в первую очередь он нужен для работы IDE.
Ради справки надо предупредить что в официальных репозиториях Ubuntu и Debian имеется пакет OpenJDK (openjdk-7-jre) который легко установить штатным менеджером пакетов (apt) или хоть через Software Center на Ubuntu. Но на Ubuntu 14.04 LTS там сейчас лежит версия 7u71 и обновляется не часто. Если вам нужна Java 8 или даже 7-ая но с последними апдейтами… значит читаем дальше и учимся ставить Java руками.
Найти и скачать
Для десктопов все просто: переходим по ссылке на страницу Oracle – Java SE Downloads выбираем нужную версию пакета и качаем к себе.
Консольщикам же придется собирать команду. Пример такой:
# Java 8 JDK wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http://www.oracle.com/; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u31-b13/jdk-8u31-linux-x64.tar.gz" # Java 8 JRE wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http://www.oracle.com/; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u31-b13/jre-8u31-linux-x64.tar.gz" # Java 7 JDK wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http://www.oracle.com/; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/7u75-b13/jdk-7u75-linux-x64.tar.gz" # Java 7 JRE wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http://www.oracle.com/; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/7u75-b13/jre-7u75-linux-x64.tar.gz"
Установка
Для начала нужно распаковать архив
tar -xf jdk-8u31-linux-x64.tar.gz
Распакованные файлы окажутся в новом каталоге ./jdk1.8.0_31 (соответствует вашей версии)
А теперь нужно перенести все в /usr/lib, предварительно создадим там новый каталог jvm
sudo mkdir -p /usr/lib/jvm sudo mv ./jdk1.8.0_31 /usr/lib/jvm/jdk1.8.31
Наступило время для главного – магическая команда установки новой java
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.8.31/bin/java" 1 sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.8.31/bin/javac" 1 sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk1.8.31/bin/javaws" 1
Потом еще немного магии над пермишенами и паравами доступа к каталогу где лежит jdk
sudo chmod a+x /usr/bin/java sudo chmod a+x /usr/bin/javac sudo chmod a+x /usr/bin/javaws sudo chown -R root:root /usr/lib/jvm/jdk1.8.31
Настройка
Наконец можно сменить версию java по умолчанию для системы
sudo update-alternatives --config java
В ответ мы получим список всех версий java установленных на машину и нужно будет вбить номер той, которую мы намерены выбрать “по умолчанию”
There are 4 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ 0 /usr/lib/jvm/java-7-oracle/jre/bin/java 1076 auto mode 1 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 manual mode * 2 /usr/lib/jvm/java-7-oracle/jre/bin/java 1076 manual mode 3 /usr/lib/jvm/jdk1.8.0/bin/java 1 manual mode 4 /usr/lib/jvm/jdk1.8.31/bin/java 1 manual mode Press enter to keep the current choice[*], or type selection number: 4 update-alternatives: using /usr/lib/jvm/jdk1.8.31/bin/java to provide /usr/bin/java (java) in manual mode
Теперь можно проверить нашу текущую версию
java -version # java version "1.8.0_31" Java(TM) SE Runtime Environment (build 1.8.0_31-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.31-b07, mixed mode)
Повторим то же самое для других “запускаторов” java
sudo update-alternatives --config javac sudo update-alternatives --config javaws
Ну вот и все. Мы установили последнюю (или нужную нам) версию java и указали системе использовать ее по умолчанию. Все оказалось просто и заняло не больше 10 минут.
* Следует помнить, что установленная таким методом java не будет обновляться сама и придется повторять эту процедуру если нам будет нужна новая версия. Но преимущество оригинального пакета перед тем что поставляется в репозиториях Ubuntu и Debian вполне велико и стоит наших стараний.