Назад | Перейти на главную страницу

Собственный репозиторий yum - странное именование пакетов с Oracle JDK

Я только что создал собственный репозиторий YUM через createrepo на одном из наших серверов и уведомил об этом другие. У меня в репозитории три RPM:

[foo@one repository]$ ls
jdk-7u4-linux-x64.rpm  jdk-7u79-linux-x64.rpm  jdk-8u65-linux-x64.rpm  repodata

Теперь, когда я ищу доступные пакеты, я получаю следующий результат:

[foo@two ~]$ sudo yum list available jdk*
Available Packages
jdk.x86_64            2000:1.7.0_79-fcs     
jdk1.8.0_65.x86_64    2000:1.8.0_65-fcs 

Предполагается, что на некоторых серверах уже установлена ​​Java 8, а на некоторых еще должна быть обновлена ​​и работает Java 7. Чтобы обновить это плавно, я бы настроил Ansible для установки определенного пакета Java в зависимости от того, с каким узлом он обращается.

Конечно я могу сказать установить jdk на серверах Java 7 и установите jdk1.8.0_65 на серверах Java 8, но это кажется рискованным.

Теперь мой вопрос: почему эта версия включена в Java 8 rpm и почему она не включена в Java 7? И есть ли способ сделать версию 7 явной в имени пакета?

Это не странно, так оракул решил выбрать имена.

Для версии 1.7 пакет jdk называется "jdk", у них есть Тег эпохи установлен на 2000 и различные версии (1.7.0_79-fcs, 1.7.0_25-fcs).

Таким образом, вы можете обновлять пакет и устанавливать пакет, выполнив «yum install jdk»

Начиная с версии 1.8 они решили использовать для каждой версии свое имя пакета. Итак, имя пакета теперь «jdk1.8.0_65», эпоха «2000» и версия «1.8.0_65-fcs».

Таким образом, вы больше не сможете установить «стандартный» пакет (jdk), вам нужно знать его имя: «yum install jdk1.8.0_65». Преимущество в том, что вы можете установить несколько jdk и использовать все, что захотите.