Instalacja Javy 17 na Debianie 13 i Debianie 12
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):
| Pakiet | Debian 13 | Debian 12 | Debian 11 |
|---|---|---|---|
| openjdk-8-jre-headless | niedostępny | niedostępny | niedostępny |
| openjdk-11-jre-headless | niedostępny | niedostępny | 11.0.31 |
| openjdk-17-jre-headless | niedostępny | 17.0.19 | 17.0.19 |
| openjdk-21-jre-headless | 21.0.11 | niedostępny | niedostępny |
| openjdk-25-jre-headless | 25.0.3 | niedostępny | niedostę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ę:
| Dystrybucja | Wersja Javy przez default-jre-headless |
|---|---|
| Debian 13 | Java 21 |
| Debian 12 | Java 17 |
| Debian 11 | Java 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?
Dlaczego Debian 13 zgłasza Unable to locate package openjdk-17-jre-headless?
Którą wersję Javy dostanę przez default-jre-headless?
Czym różni się openjdk-17-jre-headless od openjdk-17-jdk?
Jak ustawić Javę 17 jako wersję domyślną?
2023-2026 KernelHost GmbH. Wszelkie prawa zastrzeżone. Ten poradnik jest chroniony prawem autorskim. Publikowanie go w innych serwisach, w całości, we fragmentach lub w zmienionej formie, wymaga naszej pisemnej zgody. Cytaty z podaniem źródła i z linkiem są jak najbardziej mile widziane.

