Установка Java на Linux: OpenJDK и Oracle Java
Введение
Под Linux доступны две основные реализации Java: открытая OpenJDK (входит в большинство дистрибутивов) и проприетарная Oracle Java (раньше — Sun Java). По коду они примерно на 98–99% идентичны, но Oracle Java иногда включает дополнительные исправления. Ubuntu и Arch позволяют легко установить любую реализацию через менеджер пакетов; на Fedora/RHEL установка Oracle Java обычно требует дополнительных шагов.
Краткие определения:
- JRE — Java Runtime Environment: среда выполнения Java-приложений.
- JDK — Java Development Kit: включает JRE плюс инструменты разработки (javac, jar и т.д.).
- Java Web Start — запускает приложения через .jnlp; не всегда присутствует в JRE, поэтому на 64-битных системах рекомендуют JDK.
Важно: исходя из практики, 64-битным пользователям обычно стоит устанавливать JDK, а не только JRE, чтобы получить javaws и рабочий плагин для браузера.
Установка OpenJDK (простой способ)
Установка OpenJDK на большинстве дистрибутивов проста. На Fedora/RHEL можно выполнить (если пакеты не установлены):
sudo yum install icedtea-web java-1.6.0-openjdkПримечание: в более новых Fedora/RHEL вместо yum может использоваться dnf. На Debian/Ubuntu команды будут другими (apt), на Arch — pacman. icedtea-web устанавливает плагин/механизм для Web Start и браузерные интеграции.
После установки проверьте версию:
java -versionЕсли приложения работают — этого достаточно. Если же конкретная программа требует Oracle Java, переходите к разделу ниже.
Установка Oracle Java (более сложный путь)
Некоторые приложения ожидают именно Oracle Java. Я разделю инструкцию на 32‑битные и 64‑битные системы. Сначала — загрузка и подготовка.
Загрузка файлов
- 32‑бит: можно выбрать JRE (32‑bit) или 32‑bit JDK. Если нужен только запуск приложений в консоли/браузере — JRE хватит.
- 64‑бит: рекомендуется выбирать 64‑bit JDK, поскольку он содержит javaws, а 64‑bit JRE иногда не содержит рабочего Java Web Start.
При загрузке выберите RPM‑пакет (Fedora/RHEL используют RPM). Сохраните файл, например, в папку Downloads.
Примечание: в момент исходной статьи рекомендовали Java 6 (например, 6u27), а не Java 7, из соображений совместимости. Если вы скачали другую версию (6u29, 6u45 и т.д.), замените номера версий в путях и командах ниже.
Сделать файл исполняемым и запустить инсталлятор
Откройте терминал и выполните:
chmod +x /home//Downloads/
/home//Downloads/ Где
Конфигурация: создание альтернатив и ссылок
Поздравляю — Oracle Java установлена. Остаётся настроить систему: зарегистрировать бинарники в системе alternatives и создать нужные символьные ссылки. В командах ниже пути содержат версии вида jre1.6.0_27 или jdk1.6.0_27 — замените их на фактическую версию, если она отличается.
Важно: некоторые команды требуют root‑прав. Выполняйте с sudo.
32‑бит JRE
Выполните по очереди:
sudo alternatives --install /usr/bin/java java /usr/java/jre1.6.0_27/bin/java 20000sudo alternatives --install /usr/bin/javaws javaws /usr/java/jre1.6.0_27/bin/javaws 20000sudo alternatives --install /usr/lib/mozilla/plugins/libjavaplugin.so libjavaplugin.so /usr/java/jre1.6.0_27/lib/i386/libnpjp2.so 2000032‑бит JDK
sudo alternatives --install /usr/bin/java java /usr/java/jdk1.6.0_27/jre/bin/java 20000sudo alternatives --install /usr/bin/javaws javaws /usr/java/jdk1.6.0_27/jre/bin/javaws 20000sudo alternatives --install /usr/lib/mozilla/plugins/libjavaplugin.so libjavaplugin.so /usr/java/jdk1.6.0_27/jre/lib/i386/libnpjp2.so 20000sudo alternatives --install /usr/bin/javac javac /usr/java/jdk1.6.0_27/bin/javac 20000sudo alternatives --install /usr/bin/jar jar /usr/java/jdk1.6.0_27/bin/jar 2000064‑бит JDK
На 64‑битных системах нужны другие пути и дополнительные символические ссылки:
sudo alternatives --install /usr/bin/java java /usr/java/jdk1.6.0_27/jre/bin/java 20000sudo alternatives --install /usr/lib64/mozilla/plugins/libjavaplugin.so libjavaplugin.so.x86_64 /usr/java/jdk1.6.0_27/jre/lib/amd64/libnpjp2.so 20000sudo alternatives --install /usr/bin/javac javac /usr/java/jdk1.6.0_27/bin/javac 20000sudo alternatives --install /usr/bin/jar jar /usr/java/jdk1.6.0_27/bin/jar 20000sudo ln -s /usr/java/jdk1.6.0_27/jre/javaws/javaws /etc/alternatives/javawssudo ln -s /etc/alternatives/javaws /usr/bin/javawsПояснение: здесь регистрируется 64‑битный браузерный плагин и создаётся цепочка ссылок для javaws, поскольку прямая регистрация иногда не срабатывает.
После установки альтернатив можно проверить и выбрать активный вариант:
sudo alternatives --config javaФинальные правки окружения
Откройте файл /home/
Если установили JDK, добавьте:
## export JAVA_HOME JDK ##
export JAVA_HOME="/usr/java/jdk1.6.0_27"Если устанавливали только JRE, добавьте:
## export JAVA_HOME JRE ##
export JAVA_HOME="/usr/java/jre1.6.0_27"Сохраните файл и перезагрузите сессию терминала (logout/login) или выполните:
source ~/.bash_profileПроверка установки и критерии приёмки
Выполните базовые проверки:
java -version
javac -version # если установлен JDK
javaws -version # если нужен Java Web StartКритерии приёмки:
- java -version показывает установленную Oracle/OpenJDK версию.
- javac доступен, если вы устанавливали JDK.
- В браузере (или при запуске .jnlp) Web Start запускается, если это требование.
- Команда sudo alternatives –config java позволяет выбрать установленную версию.
Чек‑лист: быстрое руководство
Для системного администратора:
- Сохранить установочный файл в ~/Downloads.
- Сделать файл исполняемым и запустить установщик.
- Зарегистрировать бинарники через alternatives.
- Установить JAVA_HOME в ~/.bash_profile и распространить в окружении.
- Проверить java -version и работу Web Start.
Для разработчика:
- Убедиться, что javac и jar доступны.
- Проверить, что IDE (Eclipse, IntelliJ) использует нужную версию Java.
Для обычного пользователя:
- Убедиться, что браузер видит Java‑плагин, или использовать отдельный браузер с поддержкой плагинов.
Устранение неполадок и частые ошибки
Важно: часто проблемы возникают из‑за несоответствия архитектур (32‑битный плагин в 64‑битном браузере) или из‑за неправильных ссылок.
Проблемы и решения:
- Браузер не видит плагин: проверьте, установлен ли плагин в /usr/lib/mozilla/plugins (32‑бит) или /usr/lib64/mozilla/plugins (64‑бит). Повторно зарегистрируйте его через alternatives.
- javaws отсутствует: установите JDK или создайте символьные ссылки, как в разделе 64‑бит.
- Неправильная версия в PATH: выполните sudo alternatives –config java и выберите нужную.
- SELinux/политики безопасности блокируют работу плагина: временно проверьте в permissive режиме или проверьте логи auditd (если применимо).
Когда установка не поможет:
- Если приложение разработано для ранних версий Java и использует специфические проприетарные расширения — возможно, требуется именно та версия Oracle Java, на которой приложение тестировалось.
- Если приложение зависит от устаревшего Java Web Start, и у вас более новые дистрибутивы, рассмотрите запуск в контейнере со старой Java.
Альтернативные подходы
- Использовать OpenJDK, если совместимость подтверждена — проще в поддержке и обновлениях.
- SDKMAN! (инструмент управления версиями JVM) — удобен для разработчиков, позволяет переключать версии Java без ручного управления alternatives.
- Контейнеризация: запуск приложения в Docker‑контейнере со специфичной версией Java для предотвращения конфликтов в системе.
Мини‑процедура (SOP) для установки Oracle Java на Fedora/RHEL
- Скачать RPM JDK в ~/Downloads.
- Сделать файл исполняемым и запустить установщик.
- Зарегистрировать java, javaws, javac и плагин через alternatives (см. разделы выше).
- Добавить export JAVA_HOME в ~/.bash_profile.
- Выполнить java -version и тестовый .jnlp (если нужен Web Start).
- Документировать установленную версию и путь в системной документации.
Диаграмма принятия решения
flowchart TD
A{Нужна ли Java вообще?} -->|Нет| B[Не устанавливать]
A -->|Да| C{Требует ли приложение Oracle Java?}
C -->|Нет| D[Установить OpenJDK через пакетный менеджер]
C -->|Да| E{64‑бит система?}
E -->|Нет| F[Скачать 32‑бит JRE/JDK + зарегистрировать alternatives]
E -->|Да| G[Скачать 64‑бит JDK + зарегистрировать 64‑бит плагины и javaws]
D --> H[Проверить java -version]
F --> H
G --> HСовместимость и примечания локали
- Если вы используете дистрибутивы с новыми версиями менеджеров пакетов, замените yum на dnf. На Debian/Ubuntu применяйте apt и пакеты OpenJDK из репозиториев.
- Для корпоративной среды документируйте точные версии (номер релиза и патч‑уровень) в инвентаре.
Часто задаваемые вопросы
Нужно ли всегда выбирать Oracle Java?
Нет. Если приложение работает на OpenJDK — используйте её. Oracle Java рекомендуется только в случаях, когда приложение явно требует её или есть проблемы совместимости.
Почему JDK рекомендуется для 64‑битных систем?
Потому что JDK содержит javaws (Java Web Start) и полный набор инструментов, которые иногда отсутствуют или ограничены в JRE‑пакетах 64‑бит.
Как поменять версию Java по умолчанию?
Выполните:
sudo alternatives --config javaи выберите нужный вариант из списка.
Заключение
Установка Java на Linux может быть простой (OpenJDK) или требовать ручной настройки (Oracle Java на Fedora/RHEL). Следуя шагам регистрации через alternatives и настройке JAVA_HOME, вы получите работоспособную систему. Если нужна помощь с конкретной версией или ошибкой — опишите окружение и шаги, и можно разбирать вместе.
Важно: при изменении версий Java обновляйте системную документацию и проверяйте совместимость приложений.
Спасибо за чтение — какой вариант вы предпочитаете: OpenJDK или Oracle Java? Напишите опыт в комментариях.
Похожие материалы
Добавление Matter-устройств в Apple Home
Лучшие расширения Chrome для Google Search
Удаление японского хакa в WordPress
JES: просмотр и редактирование изображений
Загрузка Mac с внешнего диска — Intel и Apple silicon