Проверялось для java версии 1.8, 17 и 21 После установки указанных версий java в директории /etc/alternatives/packages.d появляются соответствующие файлы: java-1.8.0-openjdk-java-headless java-17-openjdk-java-headless java-21-openjdk-java-headless Для java 1.8.0 в качестве разделителя значений выступает знак табуляции - это верно Для остальных это знак пробела - не верно Это приводит к тому, что alternetives-update не может обнаружить в указанных файлах часть строки, в следствии чего запускается alternetives-auto. Это приводит к тому, что мы не можем выбирать 17 или 21ую версию java, вместо этого применяется alternetives-auto. Воспроизведение: 1. Проверяем текущую версию java java -version 2. Задаем свою альтернативу alternatives-manual /usr/bin/java /usr/lib/jvm/java-17-openjdk-17.0.14.0.7-alt1.x86_64/bin/java 3. Применяем изменения alternatives-update Ожидаемый результат: Команда "java -version" выводит желаемую версию java (17) Фактический результат: В выводе alternatives-update видим результат применения alternatives-auto. Если установлены все версии java, то будет выбрана 21 Для версии 1.8.0 все применяется в соответствии с ожиданиями
Воспроизводится в сизифе.
java-21-openjdk-0:21.0.6.0.7-alt3 -> sisyphus: Tue Apr 15 2025 Andrey Cherepanov <cas@altlinux> 0:21.0.6.0.7-alt3 - Used tabs in alternative files (ALT #53743).