Установка 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.
Разница между ними заключается в том, что *.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)