Установка SUN JAVA - CentOS Wiki

В CentOS по дефолту установлен OpenJDK. Этого вполне достаточно в большинстве случаев, но бывают моменты, когда необходима именно "настоящая" sun-овская java. Например для приложений заточенных именно под нее.


Итак существуют два пакета SDK и JRE.
SDK (Software Development Kit) — набор из средств разработки, утилит и документации, который позволяет программистам создавать приложения для необходимой платформы (программной или программно-аппаратной).

Java Runtime Environment (JRE) — минимальная исполнительная среда Java.
Набор программ и библиотек, которые служат основой для запуска JAVA-приложений. Состоит из виртуальной машины — Java Virtual Machine и библиотеки Java-классов.

Стоит заметить, что в пакет SDK входит JRE. Так что если вы установите любой из этих пакетов, какой либо ява-аплет, требующий имено sun-овской явы, работать будет - например аплет банк-клиента в броузере.

Установка Java Runtime Environment (JRE)

Скачать SDK и JRE можно с сайта Sun в двух видах: бинарные файлы вида *.bin и *.rpm.bin.

JAVA SUN

Разница между ними заключается в том, что *.bin содержит каталог с файлами, которые будут распакованы в директорию из которой запущен *.bin (содержит так же настроечный файл java.sh), а файл *.rpm.bin содержит RPM-пакеты, которые распакуются в директорию из которой запустили *-rpm.bin, а затем будут установлены в каталог /usr/java. Вся установка RPM-пакетов заключается в распаковке в каталог /usr/java тех же самых файлов и каталогов, которые содержит пакет *.bin.

Скачав пакет для нашей архитектуры, пусть это будет jre-6u24-linux-i586-rpm.bin (по состоянию на 8.03.2011), приступим к установке.

скопируем пакет в директорию /usr/src - в принципе не обязательно.

$ su -
# cd /usr/src/

# cp /home/alexandr/jre-6u24-linux-i586-rpm.bin /usr/src/

Запустим инсталяцию:

# sh jre-6u24-linux-i586-rpm.bin

Теперь выполним настройки. Стоит сделать небольшое отступление. Все пользователи и программы вызывают java по пути /usr/bin/java.

Но на самом деле /usr/bin/java есть ни что иное как мягкая ссылка на другую ссылку - /etc/alternatives/java. А уже /etc/alternatives/java ссылается на различные версии java установленные в определенных каталогах, например /usr/java или /opt/java. Утилита - alternatives служит для переключения символической ссылки /etc/alternatives/java на различные версии java, установленные в системе, а все пользователи либо программы как использовали ссылку /usr/bin/java для вызова java, так и будут продолжать её использовать.


страница основных параметров alternatives:

alternatives --install <ссылка> <имя> <путь> <приоритет>
[--initscript <служба>]
[--slave <ссылка> <имя> <путь>]*
alternatives --remove <имя> <путь>
alternatives --auto <имя>
alternatives --config <имя>
alternatives --display <имя>
alternatives --set <имя> <путь>

общие параметры: --verbose --test --help --usage --version
--altdir <каталог> --admindir <каталог>


Выполним:

alternatives --install /usr/bin/java java /usr/java/jre1.6.0_24/bin/java 100
alternatives --install /usr/bin/javaws javaws /usr/java/jre1.6.0_24/bin/javaws 100
alternatives --install /usr/lib/mozilla/plugins/libjavaplugin.so
                  libjavaplugin.so /usr/java/jre1.6.0_24/lib/i386/libnpjp2.so 100


здесь нет переноса - строка просто длинная.
export JAVA_HOME="/usr/java/jre1.6.0_24" - необязательно

 

Для того чтобы вернуть или поменять java, у нас всегда есть в запасе следующие команды:

# alternatives --config java
# alternatives --config javaс
# alternatives --config javaws
# alternatives --config libjavaplugin.so

Нам понадобится пока одна:

[root@slk src]# alternatives --config java

Имеется 3 программ, которые предоставляют 'java'.

Выбор Команда
-----------------------------------------------
*+ 1 /usr/lib/jvm/jre-1.6.0-openjdk/bin/java
2 /usr/lib/jvm/jre-1.4.2-gcj/bin/java
3 /usr/java/jre1.6.0_24/bin/java

Enter - сохранить текущий выбор[+], или укажите номер: 3

Проверим версию java.

# java -version
java version "1.6.0_24"
Java(TM) SE Runtime Environment (build 1.6.0_24-b07)
Java HotSpot(TM) Client VM (build 19.1-b02, mixed mode, sharing)

 

Экспресс установка java (jre1.6.0_30)

от 02.01.2012. Для упрощения установки откажимся от утилиты alternatives.

 

  • Скачиваем с сайта java.com/ru пакет jre-6u30-linux-i586.bin.
  • помещаем его в директорию /usr/java
  • в консоли выполним: ./jre-6u30-linux-i586.bin
  • появится папка jre1.6.0_30
  • создадим для директории jre1.6.0_30 рядом ссылку на нее с названием jre (ln -s /usr/java/jre1.6.0_30 /usr/java/jre)
  • в директории: /etc/profile.d создадим текстовый файл /etc/profile.d/java.sh содержащий следующие строки:
    #JAVA
    export JAVA_HOME=/usr/java/jre
    pathmunge $JAVA_HOME/bin      
  • для браузера создадим также ссылку: ln -s /usr/java/jre/lib/i386/libnpjp2.so /usr/lib/mozilla/plugins/ (или так: sudo ln -s /usr/java/jre/lib/i386/libnpjp2.so ~/.mozilla/plugins/) или для систем x86_64:
    ln -s /usr/java/jre/lib/amd64/libnpjp2.so   /usr/lib64/mozilla/plugins/
  • обновим профиль:
    . /etc/profile
  • проверим версию явы командой: java -version
  • для браузера перейдем на страницу проверки явы: http://java.com/ru/download/help/testvm.xml

 

Установка Software Development Kit (SDK)

Скачиваем как и в предыдущем примере необходимый пакет - jdk-6u24-linux-i586-rpm.bin. В консоли выполняем:

 

$ su -
# cd /usr/src/

# cp /home/alexandr/jdk-6u24-linux-i586-rpm.bin /usr/src/

Запустим инсталяцию:

# sh jdk-6u24-linux-i586-rpm.bin

Далее:

# alternatives --install /usr/bin/java java /usr/java/jdk1.6.0_24/jre/bin/java 100
# alternatives --install /usr/bin/javaws javaws /usr/java/jdk1.6.0_24/jre/bin/javaws 100
# alternatives --install /usr/lib/mozilla/plugins/libjavaplugin.so libjavaplugin.so
                  /usr/java/jdk1.6.0_24/jre/lib/i386/libnpjp2.so 100



строка длинная, здесь недолжно быть переноса.
# alternatives --install /usr/bin/javac javac /usr/java/jdk1.6.0_24/bin/javac 100

 

Далее настройка используемых версий:

# alternatives --config java
# alternatives --config javaс
# alternatives --config javaws
# alternatives --config libjavaplugin.so

Убедимся что у нас установлено

# java -version
java version "1.6.0_24"
Java(TM) SE Runtime Environment (build 1.6.0_24-b07)
Java HotSpot(TM) Client VM (build 19.1-b02, mixed mode, sharing)

Автор: Александр