На очереди сегодня (04.06.2026) и сформировать себе заметку, как поставить OpenJDK 17 на систему Ubuntu 22.04 LTS Server со всеми нюансами, так сказать задокумментировать себе весь процесс, т.к. эта заметка в свою очередь ляжет для последующих проектов. Проект — это набор кирпичиков, где каждый занимает свое положение.
На заметку: Я стараясь намеренно по возможности указывать что и из какого следует.
На заметку: Системе Ubuntu 22.04 LTS Server в процессе потребуется доступ в интернет
Шаг №1: Операционная система развернута из образа: ubuntu-22.04.2-live-server-amd64.iso в среде виртуализации Proxmox 7.4-3
Шаг №2: После произведена предварительная настройка системы на последующее использование:
sudo rm -Rf /var/lib/apt/lists
cat /etc/update-manager/release-upgrades | grep Prompt
Prompt=lts
sudo sed -i '/Prompt/s/lts/never/' /etc/update-manager/release-upgrades
cat /etc/update-manager/release-upgrades | grep Prompt
Prompt=never
sudo apt-get update && sudo apt-get upgrade -y && sudo apt dist-upgrade -y
sudo rm -f /etc/localtime
sudo ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime
sudo locale-gen en_US.UTF-8
echo "LC_ALL="en_US.UTF-8"" | sudo -s tee /etc/default/locale
echo "LANG="en_US.UTF-8"" | sudo tee -a /etc/default/locale
echo "LANGUAGE="en.US.UTF-8"" | sudo tee -a /etc/default/locale
sudo reboot
Шаг №3: Проверяю сперва наличие OpenJDK в дефолтных репозитариях системы Ubuntu 22.04 LTS Server:
ekzorchik@srv-us2204a:~$ apt-cache search openjdk-17-jdk
openjdk-17-jdk - OpenJDK Development Kit (JDK)
openjdk-17-jdk-headless - OpenJDK Development Kit (JDK) (headless)
Шаг №4: Произвожу установку OpenJDK из дефолтных репозитариев:
ekzorchik@srv-us2204a:~$ sudo apt-get install -y openjdk-17-jdk
Шаг №5: Если в системе одновременно установлены Java 11 и Java 17, переключаем систему на использование Java 17:
ekzorchik@srv-openfire2:~$ sudo update-alternatives --config java
There are 3 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1711 auto mode
1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode
2 /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1711 manual mode
3 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 manual mode
Press <enter> to keep the current choice[*], or type selection number: нажимаю клавишу "0"
ekzorchik@srv-openfire2:~$
и
sudo update-alternatives --config javac
ekzorchik@srv-openfire2:~$ sudo update-alternatives --config javac
There are 2 choices for the alternative javac (providing /usr/bin/javac).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/jvm/java-17-openjdk-amd64/bin/javac 1711 auto mode
1 /usr/lib/jvm/java-17-openjdk-amd64/bin/javac 1711 manual mode
2 /usr/lib/jvm/java-8-openjdk-amd64/bin/javac 1081 manual mode
Press <enter> to keep the current choice[*], or type selection number: нажимаю клавишу "0"
ekzorchik@srv-openfire2:~$
Шаг №6: Прописываю путь в переменные окружения:
sudo nano /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"
JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64/bin/java"
source /etc/environment
echo $JAVA_HOME
/usr/lib/jvm/java-17-openjdk-amd64/bin/java
Шаг №7: Проверяю какая версия java & javac:
ekzorchik@srv-us2204a:~$ java -version
openjdk version "17.0.19" 2026-04-21
OpenJDK Runtime Environment (build 17.0.19+10-1-22.04.2-Ubuntu)
OpenJDK 64-Bit Server VM (build 17.0.19+10-1-22.04.2-Ubuntu, mixed mode, sharing)
ekzorchik@srv-us2204a:~$ javac -version
javac 17.0.19
ekzorchik@srv-us2204a:~$
Итого я данной заметкой сделал себе небольшое ознакомление для последующего.
На этом пока все, с уважением автор блога, кстати если будет что-то в процессе, то все дополнения будут отражены путем дополнения заметки.