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

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

В Debian нет ни Java 8, ни (начиная с Debian 12) Java 11. Показываем, как всё же аккуратно установить обе версии обычным apt через репозиторий Adoptium с Eclipse Temurin.

Хотите установить Java 8 или Java 11 на свой сервер с Debian? Сразу важное: обеих версий больше нет в официальных репозиториях Debian. Ни в Debian 13 (Trixie), ни в Debian 12 (Bookworm) пакетов openjdk-8 и openjdk-11 вы не найдёте. Команда apt install openjdk-11-jre-headless там просто завершится ошибкой. Надёжный путь ведёт через Eclipse Temurin.

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

Вам нужен 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 (по состоянию на июль 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отсутствуетотсутствует

То есть для Java 8 в Debian пакета уже нет вообще, а Java 11 встречается только в Debian 11. Доступен ли пакет в вашей системе, вы в любой момент можете проверить сами:

apt-cache policy openjdk-11-jre-headless

Если в строке «Кандидат» стоит (отсутствует), значит, в вашей версии Debian этого пакета нет.

Какая версия Java нужна вам на самом деле?

Java 8 и Java 11 — это старые LTS-версии. Современное программное обеспечение обычно рассчитано на Java 17 или Java 21, однако часть серверных приложений (например, старые серверы Minecraft, плагины или разросшийся за годы корпоративный софт) по-прежнему работает только с Java 8 или Java 11. Поэтому ставьте старую версию лишь тогда, когда её явно требует ваше приложение. Сначала загляните в документацию: возможно, поддерживается и более новая версия, а она получает обновления безопасности заметно дольше.

Установка Java 8 и Java 11 из репозитория Adoptium

Eclipse Temurin — это свободно доступная сборка OpenJDK. Репозиторий Adoptium предоставляет для Debian 13 версии с 8 по 26, для Debian 12 доступен тот же источник пакетов. Так вы установите любую нужную версию Java независимо от того, что входит в состав вашего дистрибутива, и будете затем обновлять её обычным apt.

Подключение репозитория Adoptium

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

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 8

apt install temurin-8-jre -y

Вариант jre содержит только среду выполнения, и её достаточно для запуска Java-приложений. Если вам нужен ещё и компилятор, установите вместо неё temurin-8-jdk.

Установка Java 11

apt install temurin-11-jre -y

Здесь действует то же правило: для разработки и компиляции берите temurin-11-jdk.

Установка Java 11 в Debian 11 из штатного репозитория

Если на вашем сервере ещё работает Debian 11 «Bullseye», OpenJDK 11 по-прежнему лежит там в официальном репозитории:

apt install openjdk-11-jre-headless -y

Правда, Debian 11 получает уже только ограниченные обновления безопасности по программе LTS. Запланируйте обновление системы в среднесрочной перспективе и заодно переведите Java на Temurin, чтобы после смены версии не остаться без подходящего пакета.

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

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

apt install default-jre-headless -y

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

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

На Debian 11 вы получаете таким образом ровно Java 11, а на более новых версиях Debian — заметно более свежий выпуск.

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

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

java -version

Если в выводе стоит нужная основная версия (то есть 1.8.0 для Java 8 либо 11.0 для Java 11), установка удалась.

Выбор версии Java по умолчанию

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

update-alternatives --list java

Затем выберите нужную версию в интерактивном режиме:

update-alternatives --config java

Почему apt-key больше не стоит использовать

Во многих старых инструкциях сторонние источники добавляют командой apt-key adv или apt-key add. Она объявлена устаревшей начиная с Debian 11, потому что записанный так ключ становится действительным для всех репозиториев системы. Взломанный сторонний репозиторий смог бы подсунуть таким образом и системные пакеты.

Современный подход — ровно тот, что показан выше: ключ кладётся отдельным файлом в /etc/apt/keyrings/ и в строке sources привязывается через signed-by= к одному конкретному репозиторию.

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

«Unable to locate package openjdk-8-jre-headless» или «openjdk-11-jre-headless»: Это не ошибка вашей установки. Для Java 8 в Debian пакета больше нет вообще, а Java 11 остался только в Debian 11. Устанавливайте нужную версию из репозитория Adoptium.

«Unable to locate package temurin-8-jre»: Репозиторий ещё не прочитан. Выполните apt update и проверьте командой cat /etc/apt/sources.list.d/adoptium.list, стоит ли в конце строки правильное кодовое имя вашей версии Debian (например, bookworm или trixie).

«NO_PUBKEY» или ошибка подписи при apt update: Ключ сохранён некорректно. Загрузите его заново в /etc/apt/keyrings/adoptium.asc и убедитесь, что файл не пустой.

java -version показывает не ту версию: По умолчанию задана другая установка Java. Исправьте это командой update-alternatives --config java.

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

Почему apt в Debian 12 не находит openjdk-11-jre-headless?
Потому что этого пакета там больше нет. OpenJDK 11 остался в официальных репозиториях только в Debian 11. В Debian 12 и Debian 13 Java 11 устанавливают из репозитория Adoptium пакетом temurin-11-jre.
Как установить Java 8 в Debian?
Для Java 8 пакета нет ни в одной актуальной версии Debian. Подключите репозиторий Adoptium и установите temurin-8-jre, а для разработки соответственно temurin-8-jdk. Ключ подписи при этом кладётся в /etc/apt/keyrings.
Какую версию Java даёт default-jre-headless?
Метапакет разрешается в версию по умолчанию для вашего дистрибутива: Debian 13 даёт Java 21, Debian 12 даёт Java 17, а Debian 11 даёт Java 11. Для Java 8 он не поможет, здесь без Temurin не обойтись.
Почему apt-key больше не стоит использовать?
Ключ, добавленный через apt-key, действует для всех репозиториев системы. Взломанный сторонний репозиторий смог бы подсунуть таким образом и системные пакеты. Начиная с Debian 11 команда объявлена устаревшей: современные инструкции кладут ключ в /etc/apt/keyrings и ссылаются на него через signed-by в строке sources.
Стоит ли вообще ещё использовать Java 8?
Только если этого явно требует ваше приложение. Java 17, Java 21 и Java 25 получают обновления безопасности заметно дольше. Поэтому проверьте в документации своего программного обеспечения, поддерживается ли более новая версия Java.

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