Установка Java 17 на Debian 13 и Debian 12
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 13 | Debian 12 | Debian 11 |
|---|---|---|---|
| openjdk-8-jre-headless | не входит | не входит | не входит |
| openjdk-11-jre-headless | не входит | не входит | 11.0.31 |
| openjdk-17-jre-headless | не входит | 17.0.19 | 17.0.19 |
| openjdk-21-jre-headless | 21.0.11 | не входит | не входит |
| openjdk-25-jre-headless | 25.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 13 | Java 21 |
| Debian 12 | Java 17 |
| Debian 11 | Java 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 13 пишет Unable to locate package openjdk-17-jre-headless?
Какую версию Java я получу через default-jre-headless?
Чем openjdk-17-jre-headless отличается от openjdk-17-jdk?
Как сделать Java 17 версией по умолчанию?
2023-2026 KernelHost GmbH. Все права защищены. Эта инструкция охраняется авторским правом. Публикация на других сайтах, в том числе частично или в изменённом виде, без нашего письменного согласия не разрешается. Цитирование с указанием источника и активной ссылкой мы приветствуем.

