Установка Sun (Oracle) JDK вместо OpenJDK на Ubuntu 10.04

// Сентябрь 28th, 2010 // PHP, Веб-разработка

На днях, по совету Ильи Алшанетского (кстати, одного из разработчиков PHP) решил поставить phpStorm. Скачал и поставил её довольно быстро, но вот незадача, при запуске она писала мне сообщение:

WARNING: You are launching IDE using OpenJDK Java Runtime.
This is strictly unsupported due to numerous OpenJDK perfomance and graphical problems with GUI apps. Please install Sun (Oracle) JDK 1.6+

Хотя IDE и запускалась, но работать с тормозами и множеством багов мне не улыбалось. Обратившись в службу поддержки JetBrains, я получил ответ, что надо указать пусть к другой (Sun) JDK в стартовом скрипте программы (webide.sh). Я честно скачал новую JDK с сайта Oracle, установил, однако куда она поставилась я не понял. Начав искать по ключу jdk я понял, что это будет ну оочень долго. В резульатте на одном из форумов я нашел совет — снести старую openJDK и поставить новую. Это помогло, однако не без граблей. Sun JDK напрочь отсутствует в репозиатриях, и устанавливать его надо так:

UPD: В конце статьи появился более быстрый вариант.

UPD: Для Ubuntu Server 10.10 есть свой быстрый вариант. См. в конце статьи.

Напоминаю, что вся эта канитель нужна только в том случае, если у вас нет пакетов sun-java6-jdk и sun-java6-jre в репозитарии вашего дистрибьютива. Если они есть, то делайте так:

apt-get install sun-java6-jdk sun-java6-jre

1. Удаляем OpenJDK:

aptitude remove openjdk-6-jre openjdk-6-jre-headless openjdk-6-jre-lib icedtea6-plugin icedtea-6-jre-cacao

Вместе с ним скорее всего снесется NetBeans и еще кое-чего. Смотрите внимательнее, что удаляете, но не паникуйте. Потом если что, можно будет заново установить.

2. Качаем Sun JDK с офсайта.

http://www.oracle.com/technetwork/java/javase/downloads/jdk6-jsp-136632.html

3. Создаем папки

cd /opt/

sudo mkdir java

cd ./java

sudo mkdir 64

cd ./64

4. Далее копируем скачанный .bin файл в эту папку и ставим атрибут испольнения на него.

sudo mv ~/jre-6u21-linux-x64.bin /opt/java/64

sudo chmod 755 /opt/java/64/jre-6u21-linux-x64.bin

5. Переходим в папку и запускаем бинарник.

cd /opt/java/64

sudo ./jre-6u21-linux-x64.bin

Жмем Enter. Java установлена. Теперь начинается самое интересное. Надо сообщить, что у насе сть новая Java:

sudo update-alternatives --install "/usr/bin/java" "java" "/opt/java/64/jdk1.6.0_21/bin/java" 1

и заставить её быть в системе по-умолчанию:

sudo update-alternatives --set java /opt/java/64/jdk1.6.0_21/bin/java

Для 32-битной версии всё будет аналогично.

После этого phpStorm запустился без ошибок.

На английском см. раздел «HOW-TO FOR 64 BIT UBUNTU»-> Install JRE (64-bit)

Более быстрый вариант установки

Никакие пакеты не удаляем. Скачиваем Java по ссылке. Выполняем бинарник, после чего получим папку jdk1.6.0_21, которую копируем в /usr/lib/jvm. Далее просто меняем симлинк ~default-java с java-6-openjdk на jdk1.6.0_21

Установка Sun (Oracle) JDK в Ubuntu 10.10 Server

apt-get install python-software-properties
sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
sudo apt-get update
sudo apt-get install sun-java6-jre sun-java6-plugin
Share

Спасибо!


Если вам помогла статья, или вы хотите поддержать мои исследования и блог - вот лучший способ сделать это:


31 Responses to “Установка Sun (Oracle) JDK вместо OpenJDK на Ubuntu 10.04”

  1. Rallin:

    Ну как это нет jdk в репозиториях? Всё намного проще
    # apt-get install sun-java6-jdk
    в webide.sh добавить строку перед первым if-ом
    export JDK_HOME=/usr/lib/jvm/java-6-sun
    можно даже не удалять опен ждк.
    Работает на ура! :)

    • google.com Андрей Токарчук:

      У меня в Ubuntu 10.04 нет :-(

      andrey@vaio:~$ sudo apt-get install sun-java6-jdk
      [sudo] password for andrey:
      Чтение списков пакетов… Готово
      Построение дерева зависимостей
      Чтение информации о состоянии… Готово
      Пакет sun-java6-jdk недоступен, но упомянут в списке зависимостей другого пакета.
      Это может означать, что пакет отсутствует, устарел, или доступен из источников, не упомянутых в sources.list
      E: Для пакета sun-java6-jdk не найдены кандидаты на установку
      andrey@vaio:~$

      • В таком случае качаем официальный jdk по вашей ссылке в «более быстром варианте» и в начало webide.sh, после установки в любую папку jdk’a, пишем export JDK_HOME=/home/landm/Soft/jdk1.6.0_19/ (например)
        Мне это помогло, а быстрый ваш способ, почему-то не сработал

        • google.com Андрей Токарчук:

          Тоже вариант. Можно в любую папку поставить и переопределить переменную окружения.

  2. Ralin:

    Не обратил внимания — у меня 32х-битная.. в этом-то и разница скорее всего :)

  3. На самом деле все проще:

    «1. sudo add-apt-repository «deb http://archive.canonical.com/ lucid partner»
    2. sudo aptitude update
    3. sudo aptitude install sun-java6-jdk

    Then you have to select it:

    sudo update-alternatives —config java»
    http://forums.sun.com/thread.jspa?threadID=5428712

    P.S.
    у меня пришлось в запустить потом sudo apt-get install sun-java6-jdk т.к. сохранился менеджер пакетов с предыдущей версии убунты

  4. Установил по вашему туториалу, но возникло несколько неточностей/ошибок:
    —У вас автоматические подставление тире вместо двух дефисов (ладно я, но многие могут так и не понять)
    —Для 32 качается jdk-6u21-linux-i586.bin (именно jdk, а не jre)
    —Для скачивания с официального сайта требуется аккаунт, причем при скачивании предлагают создать акк в Sun (заканчивается провалом — оно считает, что я не все заполнил), поэтому сначала нужно зарегистрироваться в Oracle (ссылка вверху страницы) и эти данные вписать при скачке.
    P.S. А за статью спасибо, помогло.
    P.P.S У вас серия значков loginza сливается с окончанием предшествующего текста :)

    • google.com Андрей Токарчук:

      Спасибо за поправки, Антон!
      Тире поправил, теперь там отображается два дефиса. По поводу 32х битной версии так и есть (jdk), и мне кажется (судя по комментам) она есть в пакетах. Для скачивания с сайта Oracle действительно надо регистрироваться.
      P.S. Рад, что статья помогла вам. Значит вы уже на наступите на эти грабли :-)
      P.P.S. Иконки поправил, спасибо! Пока не разлогинился, на заметил.

  5. в Установка Sun (Oracle) JDK в Ubuntu 10.10 Сервер следовало бы дописать
    sudo apt-get update
    после добавления репозитория иначе пакет не будет найден

  6. buko:

    Подскажите пожалуйста, где взять файл webide.sh?
    уменя в папке bin находится PhpStorm.sh — это он и есть?

  7. buko:

    Спасибо Андрей
    Еще один глупый вопрос. В настройках нашел только как поменять шрифт для меню программы а где меняется шрифт открытого документа так и не понял, может вы подскажите?

  8. buko:

    наткнулся на достаточно приятную цветовую схему http://writeless.se/2011/01/phpstorm-obsidian-theme/
    может пригодится!

    • google.com Андрей Токарчук:

      Очень симпатичная, спасибо! У меня почти такая же в Zend Studio сейчас стоит :-)

  9. qwara:

    Еще способ!
    Цент приложений — Правка — Источники приложений — Другое ПО — Добавить — ppa:ferramroberto/java — Добавить источник.
    В строке поиска набираем sun-java6-jre и устанавливаем.

  10. Чтобы удалить нада прописать apt-get remove sun-java6-jre sun-java6-plugin

  11. IAD:

    Для ubuntu 11.04 ещё нужно ставить java-jtk:

    sudo apt-get install sun-java6-jdk

  12. AeR:

    Далее просто меняем симлинк ~default-java с java-6-openjdk на jdk1.6.0_21

    А как это сделать ?

  13. Григорий:

    «А вы пробовали выключить и включить компьютер?» ))
    Счас такая проблемка встала. Netbeanse надо JDK. Пощел в менеджер пакетов. Есть такой пакет по поиску jdk. Пробую установить, ругается, что нет его в репах. Ну думаю бред. На ноуте все тоже самое, все отлично скачалось и встало. И тут вышеназванная цитата и вспомнилась.
    sudo apt-get update && sudo apt-get upgrade
    Снова открываю Synaptic, пробую установить и ОООПА! Все встало.

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