Гид по технологиям

Установка Java на Debian 10 (Buster)

• 5 min read • Linux • Обновлено 26 Nov 2025
Установка Java на Debian 10 (Buster)
Установка Java на Debian 10 (Buster)

Что сделаем

  • Установим Java 11 (рекомендуемый LTS — OpenJDK)
  • Установим Java 12 (Oracle через PPA)
  • Переключим дефолтную версию Java на системе
  • Настроим переменную окружения JAVA_HOME

Ключевые понятия

  • JDK — Java Development Kit, комплект для разработки (включает компилятор javac).
  • JRE — Java Runtime Environment, окружение для запуска Java‑приложений (java команда).

Шаг 1 — Установка Java 11 LTS

Сначала обновим списки пакетов и обновим установленные пакеты:

sudo apt update
sudo apt upgrade

Дождитесь завершения обновления.

В репозитории Debian пакет по умолчанию называется default-jdk. Посмотреть информацию о пакете можно так:

sudo apt info default-jdk

Далее установим пакет default-jdk, который подтянет default-jre и другие зависимости:

sudo apt install -y default-jdk

После установки проверьте версии Java на системе:

java -version
javac -version
jar --version

Пример вывода будет показывать Java 11 и путь установки в /usr/lib/jvm/. Чтобы просмотреть содержимое каталога, выполните:

ls -lah /usr/lib/jvm/

Информация об установке OpenJDK и пути установки

Шаг 2 — Установка Java 12

Если нужно установить Oracle Java 12, один из способов — использовать PPA от проекта linuxuprising (репозиторий для Ubuntu Bionic). На Debian это возможно, но требует осторожности: PPA предназначены для Ubuntu и могут содержать пакеты, несовместимые с Debian. Используйте этот метод, только если у вас есть резервные копии и вы понимаете риски.

  1. Добавьте ключ репозитория:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EA8CACC073C3DB2A
  1. Создайте файл репозитория:
cd /etc/apt/sources.list.d/
vim java-12.list

Вставьте строки:

deb http://ppa.launchpad.net/linuxuprising/java/ubuntu bionic main
deb-src http://ppa.launchpad.net/linuxuprising/java/ubuntu bionic main

Сохраните и закройте файл.

  1. Обновите индексы и установите пакет установщика Oracle Java 12:
sudo apt update
sudo apt install oracle-java12-installer

Во время установки вы увидите диалог с лицензией Oracle — выберите OK и затем Yes, чтобы принять лицензионное соглашение.

Проверяем версии:

java -version
javac -version
jar --version

Папка установки тоже будет в /usr/lib/jvm/. Пример экрана установки:

Установка Oracle Java 12 через PPA и подтверждение лицензии

Подтверждение лицензионного соглашения Oracle

Проверка установленной версии Java

Важно: использование PPA может вносить пакеты, рассчитанные на другую версию дистрибутива. Рассмотрите альтернативы (далее описаны).

Шаг 3 — Переключение дефолтной версии Java

Когда установлено несколько версий Java, Debian предоставляет утилиты для управления альтернативами. Увидеть доступные реализации можно так:

sudo update-java-alternatives -l

Вы увидите список с путями установки, например /usr/lib/jvm/java-1.11.0-openjdk-amd64 и /usr/lib/jvm/java-12-oracle.

Проверка текущих версий:

java -version
javac -version
jar --version

Чтобы переключить систему на OpenJDK 11, выполните (замените путь на ваш):

sudo update-java-alternatives -s /usr/lib/jvm/java-1.11.0-openjdk-amd64

После выполнения снова проверьте версии. Сообщения об ошибках в процессе можно игнорировать, если версии успешно поменялись — обратитесь к разделу «Устранение неполадок», если есть проблемы.

Список доступных версий Java и выбор альтернатив

Результат установки дефолтной версии Java

Шаг 4 — Настройка переменной JAVA_HOME

Переменная JAVA_HOME нужна многим сборочным инструментам и приложениям для поиска установленной JDK.

Откройте файл конфигурации оболочки (пример для bash):

vim ~/.bashrc

Добавьте строки (замените путь на ваш реальный путь к JDK):

JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64
PATH=$PATH:$JAVA_HOME/bin

Сохраните и выйдите из сессии, затем зайдите снова или выполните source ~/.bashrc.

Проверка:

echo $JAVA_HOME
echo $PATH

Проверка переменной JAVA_HOME и PATH

Альтернативные способы установки Java

  • Установка конкретных пакетов OpenJDK напрямую: sudo apt install openjdk-11-jdk или openjdk-8-jdk.
  • Использование SDKMAN (sdkman.io) — менеджер версий Java для разработчиков (подходит для пользовательских сессий).
  • Ручная установка из tar.gz (Oracle или OpenJDK builds): распаковать в /opt/java и настроить update-alternatives вручную.

Плюс/минус альтернатив:

  • apt (OpenJDK) — безопасно, поддерживается Debian, прост в обновлении.
  • PPA/Oracle — даёт специфическую версию Oracle, но требует осторожности и может сломать зависимости.
  • SDKMAN — идеален для разработчиков, не для серверов продакшн.

Когда этот подход не подходит

  • Вы требуете сертифицированную сборку Oracle с поддержкой от поставщика — обратитесь к платным дистрибуциям.
  • Нельзя использовать PPA в окружениях с жесткой политикой безопасности.
  • На контейнерах лучше использовать лёгкие OpenJDK distroless образы.

Устранение неполадок

  • Неверная версия после переключения: выполните sudo update-alternatives –config java и выберите нужный пункт.
  • Команды не находятся: проверьте PATH и наличие файлов в $JAVA_HOME/bin.
  • Пакет oracle-java12-installer не установился: проверьте вывод apt, возможно, недоступен PPA или отсутствуют зависимости.

Полезные команды для диагностики:

update-alternatives --list java
update-alternatives --config java
sudo update-java-alternatives -l
ls -lah /usr/lib/jvm/
which java
readlink -f $(which java)

Критерии приёмки

  • java -version и javac -version показывают нужную версию.
  • Переменная JAVA_HOME указывает на каталог JDK.
  • PATH содержит $JAVA_HOME/bin и команды java/javac доступны без полного пути.
  • Для сервисов (systemd) переменная доступна в окружении сервиса или прописана в Unit файле.

Чек‑лист по ролям

Для системного администратора:

  • Сделать бэкап конфигурации /etc/apt/sources.list.d/* перед добавлением PPA.
  • Проверить совместимость PPA с Debian.
  • Убедиться, что системные сервисы перезапущены после смены JAVA_HOME.

Для разработчика:

  • Установить SDKMAN, если нужно часто переключать версии в пользовательской сессии.
  • Убедиться, что сборочные системы (Maven/Gradle) используют нужную версию.

Мини‑методология для безопасного добавления PPA в Debian

  1. Создать бэкап текущих списков APT.
  2. Добавить ключ GPG и репозитория в отдельный файл в /etc/apt/sources.list.d/.
  3. Выполнить apt update и просмотреть изменения пакетов, не выполняя автоматического апгрейда.
  4. Установить пакет и проверить журналы apt на предмет конфликтов.
  5. Тестировать в staging перед production.

Модель принятия решения при выборе способа установки

flowchart TD
  A[Нужна Java на сервере?] --> B{Требуется Oracle?}
  B -- Да --> C[Рассмотреть коммерческую сборку или PPA с осторожностью]
  B -- Нет --> D{Требуется LTS и поддержка?}
  D -- Да --> E[Установить openjdk-11-jdk из репозитория]
  D -- Нет --> F[Использовать SDKMAN для локальной разработки]
  C --> G[Тестировать в staging и иметь откат]
  E --> H[Поддерживать через apt]
  F --> I[Версии для пользователя, не для systemd сервисов]

Короткий глоссарий

  • OpenJDK — открытая реализация Java.
  • Oracle JDK — коммерческая/официальная сборка от Oracle.
  • PPA — Personal Package Archive, репозиторий для Ubuntu.

Рекомендации по безопасности

  • Не добавляйте PPA в production без аудита.
  • Следите за обновлениями безопасности для Java и применяйте патчи.

Быстрая проверка после установки (тестовые кейсы)

  1. Выполнить java -version и ожидать нужную версию.
  2. Компилировать простую программу javac Hello.java и запускать java Hello.
  3. Проверить, что системный сервис (если использует Java) стартует корректно после смены JAVA_HOME.

Сводка

  • Для Debian 10 рекомендуем использовать OpenJDK 11 из официального репозитория.
  • Установка Oracle Java через PPA возможна, но рискованна и требует резервирования.
  • Всегда настраивайте JAVA_HOME и PATH для корректной работы инструментов.

Важно: проверяйте совместимость и тестируйте в безопасном окружении перед деплоем в production.

Источники

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро