Instalacja Javy 17 na Debianie 13 i Debianie 12

Opublikowano Zaktualizowano 5 min czytania

Debian 12 ma OpenJDK 17 w zestawie, Debian 13 już nie. Tak zainstalujesz Javę 17 na obu wersjach: przez apt albo przez repozytorium Adoptium z Eclipse Temurin.

Chcesz zainstalować Javę 17 na swoim serwerze z systemem Debian? Ważna uwaga na początek: to, czy wystarczy zwykłe apt install, zależy od twojej wersji Debiana. Debian 12 (Bookworm) ma OpenJDK 17 w zestawie, Debian 13 (Trixie) już nie. Ten poradnik pokazuje właściwą drogę dla obu przypadków.

Wymagania

Potrzebujesz dostępu SSH z uprawnieniami roota (albo użytkownika z uprawnieniem sudo) na aktualnym Debianie. Zalecamy Debiana 13 „Trixie” oraz Debiana 12 „Bookworm”. Debian 10 zakończył wsparcie w czerwcu 2024 roku i nie dostaje już regularnych aktualizacji bezpieczeństwa, więc nie nadaje się do pracy produkcyjnej.

To, która wersja Debiana działa u ciebie, pokaże poniższe polecenie:

cat /etc/os-release

Następnie odśwież listę pakietów i zainstaluj dostępne aktualizacje:

apt update && apt upgrade -y

Która wersja Debiana zawiera którą Javę?

Debian wymienia dostarczane wersje OpenJDK przy każdym nowym wydaniu głównym. Poradnik, który bez zastrzeżeń poleca apt install openjdk-17-jre-headless, na Debianie 13 po prostu zawiedzie. To zestawienie pokazuje, co faktycznie leży w oficjalnych repozytoriach (stan na lipiec 2026):

PakietDebian 13Debian 12Debian 11
openjdk-8-jre-headlessniedostępnyniedostępnyniedostępny
openjdk-11-jre-headlessniedostępnyniedostępny11.0.31
openjdk-17-jre-headlessniedostępny17.0.1917.0.19
openjdk-21-jre-headless21.0.11niedostępnyniedostępny
openjdk-25-jre-headless25.0.3niedostępnyniedostępny

To, czy dany pakiet jest dostępny w twoim systemie, sprawdzisz w każdej chwili samodzielnie:

apt-cache policy openjdk-17-jre-headless

Jeśli przy „Kandydująca” widnieje numer wersji, możesz od razu instalować. Jeśli stoi tam (brak), skorzystaj z drogi przez Temurin opisanej niżej.

Instalacja Javy 17 na Debianie 12

Na Debianie 12 (a tak samo na Debianie 11) OpenJDK 17 leży w oficjalnym repozytorium. Wystarczy jedno polecenie:

apt install openjdk-17-jre-headless -y

Wariant jre-headless zawiera samo środowisko uruchomieniowe, bez bibliotek graficznych, i przez to jest lekkim, właściwym wyborem dla serwera, choćby dla serwera Minecraft albo aplikacji webowej napisanej w Javie.

Jeśli potrzebujesz dodatkowo kompilatora, bo budujesz aplikacje Javy bezpośrednio na serwerze, zainstaluj pełne JDK:

apt install openjdk-17-jdk -y

Instalacja Javy 17 na Debianie 13 przez repozytorium Adoptium

Debian 13 nie zawiera już OpenJDK 17, dostarczaną wersją jest tam Java 21. Jeśli twoja aplikacja wymaga wprost Javy 17, zainstaluj Eclipse Temurin. To ogólnodostępna kompilacja OpenJDK, udostępniana przez własne repozytorium i aktualizowana potem całkiem normalnie przez apt.

Najpierw zainstaluj pakiety pomocnicze i utwórz katalog na klucze repozytoriów:

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

mkdir -p /etc/apt/keyrings

Potem pobierz klucz podpisu i dodaj źródło pakietów. Wpis w pliku źródeł wskazuje przez signed-by= wyraźnie na ten jeden klucz, dzięki czemu obowiązuje on wyłącznie dla tego repozytorium:

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

Następnie zainstaluj Javę 17:

apt install temurin-17-jre -y

Jeśli i tutaj potrzebujesz kompilatora, zainstaluj zamiast tego temurin-17-jdk. Repozytorium Adoptium udostępnia dla Debiana 13 wersje od 8 do 26, nie jesteś więc skazany na to, co wybrała twoja dystrybucja. Dla Debiana 12 to samo źródło pakietów jest dostępne również.

Alternatywa: skorzystaj z domyślnej wersji Debiana

Jeśli twoja aplikacja nie wymaga konkretnej wersji Javy, tylko po prostu aktualnej, metapakiet będzie najwygodniejszą drogą. Automatycznie pociągnie tę wersję, którą twoja dystrybucja przewiduje jako domyślną:

apt install default-jre-headless -y

W zależności od wersji Debiana daje to następującą Javę:

DystrybucjaWersja Javy przez default-jre-headless
Debian 13Java 21
Debian 12Java 17
Debian 11Java 11

Na Debianie 12 dostajesz w ten sposób dokładnie tę Javę 17, o którą ci chodzi, i to bez pilnowania numeru wersji w nazwie pakietu.

Sprawdzenie instalacji

Na koniec skontroluj, czy instalacja się powiodła. Wystarczy, że odpytasz zainstalowaną wersję Javy:

java -version

Jeśli wynik zaczyna się od openjdk version "17, Java 17 jest poprawnie skonfigurowana i gotowa do pracy.

Zarządzanie kilkoma wersjami Javy równocześnie

Jeśli na serwerze zainstalowanych jest kilka JDK, o tym, która wersja faktycznie wystartuje przy wywołaniu java, decyduje mechanizm alternatives. Wszystkie obecne wersje wypiszesz tak:

update-alternatives --list java

Wybraną wersję domyślną wskażesz potem interaktywnie z listy:

update-alternatives --config java

Jeśli aplikacja potrzebuje dodatkowo zmiennej środowiskowej JAVA_HOME, odczytaj ścieżkę z tej listy i wpisz ją na stałe do /etc/environment:

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

Nadal pracujesz na Debianie 11?

Debian 11 „Bullseye” dostaje już tylko ograniczone aktualizacje bezpieczeństwa w ramach LTS, ale nadal zawiera OpenJDK 17. Polecenie jest takie samo jak na Debianie 12:

apt install openjdk-17-jre-headless -y

Mimo to zaplanuj w średnim terminie aktualizację systemu, żebyś znowu dostawał regularne poprawki bezpieczeństwa dla wszystkich pakietów.

Typowe błędy i ich rozwiązania

„Unable to locate package openjdk-17-jre-headless” na Debianie 13: to nie jest błąd twojej instalacji. Debian 13 po prostu nie zawiera już tego pakietu. Zainstaluj tam Javę 17 przez repozytorium Adoptium albo przejdź na dostarczaną z systemem Javę 21.

Ten sam komunikat na Debianie 12: tutaj lokalna lista pakietów jest przestarzała albo niekompletna. Wykonaj apt update i sprawdź w /etc/apt/sources.list, czy wpisane jest główne repozytorium twojej wersji Debiana.

java -version pokazuje inną wersję: w systemie jako domyślna ustawiona jest jeszcze starsza instalacja Javy. Ustaw właściwą wersję poleceniem update-alternatives --config java.

Poradniki z apt-key: starsze wpisy dodają obce repozytoria przez apt-key adv. Od Debiana 11 to polecenie uchodzi za wycofane, ponieważ tak zapisany klucz staje się ważny dla wszystkich źródeł pakietów w systemie. Aktualne poradniki umieszczają klucz w /etc/apt/keyrings/ i wskazują na niego w linii źródła przez signed-by=.

Twoja aplikacja mimo Javy 17 nie startuje: część oprogramowania sprawdza wersję Javy przy starcie i wymaga konkretnego wydania głównego. Zajrzyj w takim przypadku do pliku z logami aplikacji, zwykle stoi tam dokładnie wymagana wersja.

Najczęstsze pytania

Jakim poleceniem zainstaluję Javę 17 na Debianie?
To zależy od twojej wersji Debiana. Debian 12 i Debian 11 zawierają ten pakiet, tam wystarczy apt install openjdk-17-jre-headless -y. Debian 13 nie dostarcza już OpenJDK 17, tam instalujesz Eclipse Temurin przez repozytorium Adoptium.
Dlaczego Debian 13 zgłasza Unable to locate package openjdk-17-jre-headless?
Ponieważ tego pakietu w Debianie 13 już nie ma. Debian 13 dostarcza OpenJDK 21 i OpenJDK 25, ale nie OpenJDK 17. Zainstaluj tam Javę 17 przez repozytorium Adoptium, pakietem temurin-17-jre, albo przejdź na wersję dostarczaną z systemem.
Którą wersję Javy dostanę przez default-jre-headless?
Metapakiet rozwiązuje się do domyślnej wersji twojej dystrybucji: w Debianie 13 daje Javę 21, w Debianie 12 Javę 17, a w Debianie 11 Javę 11. Jeśli twoja aplikacja nie wymaga konkretnego wydania głównego, to najmniej pracochłonna droga.
Czym różni się openjdk-17-jre-headless od openjdk-17-jdk?
Pakiet jre-headless zawiera tylko środowisko uruchomieniowe, bez bibliotek graficznych, i w zupełności wystarcza do uruchamiania aplikacji Javy na serwerze. JDK dokłada do tego kompilator i jest potrzebne wtedy, gdy budujesz programy w Javie bezpośrednio na serwerze.
Jak ustawić Javę 17 jako wersję domyślną?
Poleceniem update-alternatives --list java zobaczysz wszystkie zainstalowane wersje Javy. Przez update-alternatives --config java wybierzesz potem interaktywnie tę, której chcesz używać.

Java 17 OpenJDK Eclipse Temurin Java Debian 13 Debian 12 Debian instalacja Javy