Установка Java 17 на Debian 13 и Debian 12

Опубликовано Обновлено 5 мин. чтения

Debian 12 поставляется с OpenJDK 17, Debian 13 уже нет. Как установить Java 17 в обеих версиях: через apt или из репозитория Adoptium с Eclipse Temurin.

Вы хотите установить Java 17 на своём сервере с Debian? Сразу главное: хватит ли простого apt install, зависит от версии Debian. Debian 12 (Bookworm) поставляется вместе с OpenJDK 17, а Debian 13 (Trixie) уже нет. В этом руководстве разобраны оба случая.

Что понадобится

Вам нужен доступ по SSH с правами root (или пользователь с правом sudo) на актуальной системе Debian. Рекомендуются Debian 13 «Trixie» и Debian 12 «Bookworm». У Debian 10 поддержка закончилась в июне 2024 года, регулярных обновлений безопасности он больше не получает и поэтому для продуктивной эксплуатации не подходит.

Какая версия Debian работает у вас, покажет эта команда:

cat /etc/os-release

Затем обновите список пакетов и установите доступные обновления:

apt update && apt upgrade -y

Какая версия Java входит в какой Debian?

С каждой новой основной версией Debian меняет набор входящих в неё сборок OpenJDK. Поэтому инструкция, которая без оговорок советует apt install openjdk-17-jre-headless, на Debian 13 не сработает. Эта таблица показывает, что действительно лежит в официальных репозиториях (состояние на июль 2026 года):

ПакетDebian 13Debian 12Debian 11
openjdk-8-jre-headlessне входитне входитне входит
openjdk-11-jre-headlessне входитне входит11.0.31
openjdk-17-jre-headlessне входит17.0.1917.0.19
openjdk-21-jre-headless21.0.11не входитне входит
openjdk-25-jre-headless25.0.3не входитне входит

Доступен ли пакет в вашей системе, вы в любой момент можете проверить сами:

apt-cache policy openjdk-17-jre-headless

Если в строке «Кандидат» указан номер версии, можно устанавливать сразу. Если там стоит (отсутствует), используйте вариант с Temurin ниже.

Установка Java 17 в Debian 12

В Debian 12 (как и в Debian 11) OpenJDK 17 лежит в официальном репозитории. Достаточно одной команды:

apt install openjdk-17-jre-headless -y

Вариант jre-headless содержит только среду выполнения без графических библиотек, поэтому для сервера это самый компактный и подходящий выбор, например для Minecraft-сервера или веб-приложения на Java.

Если вам дополнительно нужен компилятор, потому что приложения на Java вы собираете прямо на сервере, установите полный JDK:

apt install openjdk-17-jdk -y

Установка Java 17 в Debian 13 из репозитория Adoptium

В Debian 13 OpenJDK 17 больше не входит, штатной версией там идёт Java 21. Если вашему приложению нужна именно Java 17, установите Eclipse Temurin. Это свободно доступная сборка OpenJDK, которая поставляется через собственный репозиторий и затем обновляется обычным apt.

Сначала установите вспомогательные пакеты и создайте каталог для ключей репозиториев:

apt install -y wget gpg apt-transport-https ca-certificates

mkdir -p /etc/apt/keyrings

Затем скачайте ключ подписи и добавьте источник пакетов. Строка sources через signed-by= явно указывает на этот единственный ключ, благодаря чему он действует только для этого репозитория:

wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | tee /etc/apt/keyrings/adoptium.asc

echo "deb [signed-by=/etc/apt/keyrings/adoptium.asc] https://packages.adoptium.net/artifactory/deb $(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" | tee /etc/apt/sources.list.d/adoptium.list

apt update

После этого установите Java 17:

apt install temurin-17-jre -y

Если и здесь нужен компилятор, поставьте вместо этого temurin-17-jdk. Репозиторий Adoptium предоставляет для Debian 13 версии с 8 по 26, так что вы не привязаны к выбору своего дистрибутива. Для Debian 12 тот же источник пакетов тоже доступен.

Альтернатива: использовать штатную версию Debian

Если вашему приложению не нужна конкретная версия Java, а достаточно просто актуальной, самый удобный путь: метапакет. Он автоматически подтягивает ту версию, которую ваш дистрибутив считает стандартной:

apt install default-jre-headless -y

В зависимости от версии Debian получается такая Java:

ДистрибутивВерсия Java через default-jre-headless
Debian 13Java 21
Debian 12Java 17
Debian 11Java 11

То есть в Debian 12 вы получаете ровно нужную вам Java 17, и при этом не приходится следить за номером версии в имени пакета.

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

В завершение проверьте, прошла ли установка успешно. Для этого просто запросите установленную версию Java:

java -version

Если вывод начинается с openjdk version "17, значит Java 17 настроена правильно и готова к работе.

Управление несколькими версиями Java одновременно

Если на сервере установлено несколько JDK, то какая версия действительно запустится при вызове java, решает механизм alternatives. Все имеющиеся версии выводятся так:

update-alternatives --list java

Нужную версию по умолчанию вы затем выбираете из списка в интерактивном режиме:

update-alternatives --config java

Если приложению дополнительно нужна переменная окружения JAVA_HOME, возьмите путь из этого списка и пропишите его постоянно в /etc/environment:

JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64"

Ещё работаете на Debian 11?

Debian 11 «Bullseye» получает только ограниченные LTS-обновления безопасности, но OpenJDK 17 в нём по-прежнему есть. Команда та же, что и в Debian 12:

apt install openjdk-17-jre-headless -y

И всё же запланируйте обновление в среднесрочной перспективе, чтобы снова получать регулярные обновления безопасности для всех пакетов.

Частые ошибки и их решения

«Unable to locate package openjdk-17-jre-headless» в Debian 13: Это не ошибка вашей установки. Этого пакета в Debian 13 попросту больше нет. Установите там Java 17 из репозитория Adoptium или перейдите на входящую в состав Java 21.

То же сообщение в Debian 12: Здесь локальный список пакетов устарел или неполон. Выполните apt update и проверьте в /etc/apt/sources.list, прописан ли основной репозиторий вашей версии Debian.

java -version показывает другую версию: В системе как стандартная прописана более старая установка Java. Задайте нужную версию командой update-alternatives --config java.

Инструкции с apt-key: В старых статьях сторонние источники подключают через apt-key adv. Начиная с Debian 11 эта команда считается устаревшей, потому что добавленный так ключ становится действительным для всех репозиториев системы. Современные инструкции кладут ключ в /etc/apt/keyrings/ и ссылаются на него в строке sources через signed-by=.

Приложение не запускается, несмотря на Java 17: Некоторые программы проверяют версию Java при запуске и требуют определённую основную версию. В этом случае загляните в лог-файл приложения, там, как правило, указана точно требуемая версия.

Частые вопросы

Какой командой установить Java 17 на Debian?
Это зависит от версии Debian. В Debian 12 и Debian 11 пакет есть, там достаточно apt install openjdk-17-jre-headless -y. Debian 13 OpenJDK 17 больше не поставляет, там устанавливают Eclipse Temurin из репозитория Adoptium.
Почему Debian 13 пишет Unable to locate package openjdk-17-jre-headless?
Потому что этого пакета в Debian 13 больше не существует. В Debian 13 входят OpenJDK 21 и OpenJDK 25, но не OpenJDK 17. Установите там Java 17 из репозитория Adoptium пакетом temurin-17-jre или перейдите на входящую в состав версию.
Какую версию Java я получу через default-jre-headless?
Метапакет разрешается в стандартную версию вашего дистрибутива: Debian 13 даёт Java 21, Debian 12 даёт Java 17, а Debian 11 даёт Java 11. Если вашему приложению не нужна конкретная основная версия, это самый нетребовательный в обслуживании путь.
Чем openjdk-17-jre-headless отличается от openjdk-17-jdk?
Пакет jre-headless содержит только среду выполнения без графических библиотек, и этого достаточно, чтобы запускать Java-приложения на сервере. JDK дополнительно приносит компилятор и нужен тогда, когда вы собираете программы на Java прямо на сервере.
Как сделать Java 17 версией по умолчанию?
Командой update-alternatives --list java вы увидите все установленные версии Java. Через update-alternatives --config java вы затем интерактивно выбираете нужную.

Java 17 OpenJDK Eclipse Temurin Java Debian 13 Debian 12 Debian установка Java