Установка Oracle JDK 7 в Ubuntu 12.04

в 8:07, , рубрики: java, jdk 7, linux, ubuntu 12.04, метки: , , ,

Приветствую всех обновившихся и тех кто планирует.

Как многие из вас знают, проприетарная ява была выпилина из официальных репозитариев.
Взамен, юзерам предложили пользоваться OpenJDK.
Однако со стабильностью работы последней имеются серьезные проблемы.
Но обо всем по порядку…

Сегодня, установив на сервер, новенький proxmox 2.1, обнаружил, что после обновки
своей системы у меня не работает консоль KVM.
Быстро сообразил, что нужно бы поставить jre и полез в терминал и недолго думая
устанавливаю openjdk-6-jdk c icedtea-6-plugin для работы апплетов.

Перезапускаю браузер, захожу на вкладочку веб-морды проксмокса, запускаю консоль.
На этом все собственно и закончилось, точнее наборот начались танцы, ибо вот неполный список
проблем с которыми я столкнулся используя как openjdk-6-jdk, так и openjdk-7-jdk:
1) При закрывании окна консоли, Firefox ложился целиком вместе с ним.
2) Инициализация апплета, происходит со 100% загрузкой ЦП, в момент которого браузер блокируется.
Продолжается довольно долго, из-за чего очень сильно бесит.
3) Куча всплывающих ошибок proxmox.

Надо признаться, это был мой первый опыт общения с OpenJDK и вероятно последний.
Наконец, я решил установить проприетарную яву, и полез терроризировать гугл,
рассказать как это сделать с минимальными потерями.
Оказывается, в сети уже подсуетились некоторые ребята и сделали ppa.

Я было обрадовался, но не тут то было.
После того как проследовав пошагово до пункта sudo apt-get install,
апт выдал мне ошибку «Errors were encountered while processing: oracle-java7-installer».
Опять полез в гугл и нашел как это вылечить. На случай, если кто-то попался, привожу ссылку, с излечиванием от этой болезни.

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

Суть

Итак, у нас есть 2 варианта, того, как произвести установку, оставив систему чистой.
Прежде чем приступать, рекомендую вычистить систему от OpenJDK:

sudo apt-get purge openjdk*

Эта команда удалит всё, что имеет отношение ко всем версиям OpenJDK.

Способ номер 1.
Короткий и быстрый вариант(если у вас x86_64),
где .deb пакет уже заранее подготовлен мной, выложен в сеть, и остается лишь скачать и установить его:

1) Скачиваем пакет.
2) Выполняем в терминале 4 команды:

sudo dpkg -i jdk_1.7.004-1_amd64.deb
mkdir -p ~/.mozilla/plugins
ln -s /usr/java/jdk1.7.0_04/jre/lib/amd64/libjavaplugin_jni.so ~/.mozilla/plugins/
ln -s /usr/java/jdk1.7.0_04/jre/lib/amd64/libnpjp2.so ~/.mozilla/plugins/

3) Перезапускаем браузер и радуемся сэкономленному времени.
Если конечно у вас стоит 64-битная версия панголина.

Способ номер 2, от начала до конца.

1) Идем на сайт загрузок Java SE, и качаем пакет(.rpm), согласно нашей архитектуре:
Linux x86 (32-bit)
Linux x64 (64-bit)
2) Устанавливаем alien, по сути это конвертер пакетов который перепакует скачанные .rpm пакеты в
нужный нам формат .deb, со своими хитростями.

sudo apt-get install alien

3) Натравливаем «чужого» на скачанный rpm.

sudo alien jdk-7u4-linux-x64.rpm --scripts

На данном этапе, будет сгенерирован .deb пакет, в той же директории.
4) Далее по накатанной, устанавливаем пакет, создаем симлинки и радуемся жизни.

sudo dpkg -i jdk_1.7.004-1_amd64.deb
mkdir -p ~/.mozilla/plugins
ln -s /usr/java/jdk1.7.0_04/jre/lib/amd64/libjavaplugin_jni.so ~/.mozilla/plugins/
ln -s /usr/java/jdk1.7.0_04/jre/lib/amd64/libnpjp2.so ~/.mozilla/plugins/

Сразу оговорюсь, что не стою на том, что виновата во всем OpenJDK, но опыты ставились
на свежеустановленной 12.04 и все проблемы разрешились после установки проприетарной версии.

Автор: gotozero


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js